小编典典

好吧,让它起作用。我想我可以解决所有问题了:

最终的jQuery有界限

$(document).ready(function(){

var $bg = $('.bg-img'),

elbounds = {

w: parseInt($bg.width()),

h: parseInt($bg.height())

},

bounds = {w: 2350 - elbounds.w, h: 1750 - elbounds.h},

origin = {x: 0, y: 0},

start = {x: 0, y: 0},

movecontinue = false;

function move (e){

var inbounds = {x: false, y: false},

offset = {

x: start.x - (origin.x - e.clientX),

y: start.y - (origin.y - e.clientY)

};

inbounds.x = offset.x < 0 && (offset.x * -1) < bounds.w;

inbounds.y = offset.y < 0 && (offset.y * -1) < bounds.h;

if (movecontinue && inbounds.x && inbounds.y) {

start.x = offset.x;

start.y = offset.y;

$(this).css('background-position', start.x + 'px ' + start.y + 'px');

}

origin.x = e.clientX;

origin.y = e.clientY;

e.stopPropagation();

return false;

}

function handle (e){

movecontinue = false;

$bg.unbind('mousemove', move);

if (e.type == 'mousedown') {

origin.x = e.clientX;

origin.y = e.clientY;

movecontinue = true;

$bg.bind('mousemove', move);

} else {

$(document.body).focus();

}

e.stopPropagation();

return false;

}

function reset (){

start = {x: 0, y: 0};

$(this).css('backgroundPosition', '0 0');

}

$bg.bind('mousedown mouseup mouseleave', handle);

$bg.bind('dblclick', reset);

});

原始答案

HTML

CSS

div.bg-img {

background-image: url(http://upload.wikimedia.org/wikipedia/commons/9/91/Flexopecten_ponticus_2008_G1.jpg);

background-position: 0 0;

background-repeat: no-repeat;

background-color: blue;

border: 1px solid #aaa;

width: 250px;

height: 250px;

margin: 25px auto;

}

jQuery

$(document).ready(function(){

var $bg = $('.bg-img'),

origin = {x: 0, y: 0},

start = {x: 0, y: 0},

movecontinue = false;

function move (e){

var moveby = {

x: origin.x - e.clientX,

y: origin.y - e.clientY

};

if (movecontinue === true) {

start.x = start.x - moveby.x;

start.y = start.y - moveby.y;

$(this).css('background-position', start.x + 'px ' + start.y + 'px');

}

origin.x = e.clientX;

origin.y = e.clientY;

e.stopPropagation();

return false;

}

function handle (e){

movecontinue = false;

$bg.unbind('mousemove', move);

if (e.type == 'mousedown') {

origin.x = e.clientX;

origin.y = e.clientY;

movecontinue = true;

$bg.bind('mousemove', move);

} else {

$(document.body).focus();

}

e.stopPropagation();

return false;

}

function reset (){

start = {x: 0, y: 0};

$(this).css('backgroundPosition', '0 0');

}

$bg.bind('mousedown mouseup mouseleave', handle);

$bg.bind('dblclick', reset);

});

2020-05-16

去除div css背景,jQuery-拖动div CSS背景相关推荐

  1. jquery拖动DIV

    昨天在网上看到别人写了个jquery拖动DIV的功能,自己也写了个,比原来的要好些,因此发出来大家看看 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML ...

  2. 通过CSS,Jquery实现DIV的各种动作(包括漂移,未测试IE6)

    此文实现了如下效果: jquery获得窗口高宽,文档高宽值. 通过CSS设置,实现DIV置顶,置底,置左,置右,居中. 利用jquery实现DIV四个方向随滚动条,窗体大小浮动. 一个漂浮反弹的DIV ...

  3. jquery 在div追加文本_前端技术--JQuery

    JQuery 一.引言 1.JQuery是一个基于javascript语言的框架 --- 是对js代码的合理封装 2.js缺点,jquery优点 ​1)js代码比较复杂 var tag = docum ...

  4. jQuery实现 div里面的文字如何自动缩小,避免文字溢出

    今天用 jQuery实现 div里面的文字如何自动缩小,避免文字溢出的一个例子 代码如下 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tr ...

  5. jQuery基础 - 改变CSS样式

    本文转自:http://www.cnblogs.com/Capricornus/archive/2010/02/10/1667095.html,所有权利归原作者所有. jQuery提供css()的方法 ...

  6. jquery改变html样式表,jQuery CSS()方法改变现有的CSS样式

    jQuery入门实例:使用CSS()方法改变现有的CSS样式表,css()方法在使用上具有多样性.其中有一种可接受两个输入参数:样式属性和样式值,两者之间用逗号分隔.比如要改变链接颜色,可以这样编写代 ...

  7. CSS,Jquery显示与隐藏

    今天偶然碰到显示和隐藏的使用,小编来讲讲display和visibility的不同好了 display:none隐藏页面被隐藏的标签会直接被去除,而visibility:hidden隐藏,仅仅就是被隐 ...

  8. HTML怎么做成多彩背景,纯html+div+css模拟酷炫彩色渲染背景

    纯html+div+css模拟酷炫彩色渲染背景 www.html.com.cn 出品 html> 纯div+css模拟酷炫彩色渲染背景 /* 自写js */ body{ /*padding:0; ...

  9. html背景图片在底部,CSS兑现固定DIV层背景图片且底部显示

    CSS实现固定DIV层背景图片且底部显示 /*CSS缩写形式*/ div { background:url(/images/about_bg.jpg) no-repeat fixed; backgro ...

  10. android的文本框内容居中显示图片,DIV+CSS中让布局居中_背景图片居中_文字内容居中...

    在DIV CSS布局的页面里,从布局内容到页面里文章文字居中都是非常重要的,而 1.首先介绍使用css属性让整体布局的居中: 设置对象的父级内容居中,这里一个页面的为父级是什么呢?我们可以想象整个页面 ...

最新文章

  1. ad16不能去除铺铜_电镀废水去除重金属的方法
  2. c语言字符串初值问题!
  3. python——获取数据类型
  4. LeetCode 490. 迷宫(BFS/DFS)
  5. 论文浅尝 - TACL2020 | TYDI QA:Google 发表一个多语言的问答语料库
  6. JAVA对象集合转化为xml转换_xml转为Map集合以及对象转化为xml
  7. matlab max报错,奇怪的报错。未定义'*'
  8. mongodb 持久化 mysql_最详细的python爬虫指南(四):持久化操作(mongoDB、mysql)...
  9. python创意实用案例-分享10个给Python小白看的实用案例,入门Python就在这里了
  10. tensorflow 函数查找
  11. UNIX环境高级编程之第8章:进程控制
  12. DDOS攻击原理介绍,可怕的DDos攻击
  13. Mac Spark 安装
  14. 嵌入式linux学习路径--新手入门篇
  15. 消除VMware启动虚拟机时的floppy0提示的方法
  16. 2月28日云栖精选夜读:用人工智能提升营销效率,阿里妈妈启动2018国际广告算法大赛
  17. 千年疑惑:为什么我越累越失眠,越睡越疲惫?
  18. 最全的Go资料汇总和最走心的学Go建议
  19. 服务器添加永久静态路由
  20. 使用cmd命令导入导出数据库

热门文章

  1. apache 的http代理出错 502 Proxy Error
  2. 如何在合并复制中改变表结构?
  3. 7-1-JavaBean基础
  4. 简单介绍分析一下JSP所生成的Servlet代码
  5. webbrowser 访问iframe拒绝访问_Win10系统下Documents and Settings系统文件夹拒绝访问解决方法...
  6. python3 unicode_Python3 encode中的unicode-escape和raw_unicode_escape
  7. kicad最小布线宽度默认是多少_超实用PCB布线技巧,菜鸟和老司机都应该知道!...
  8. iphone以旧换新活动_一年当中什么时候买手机最便宜?|手机|优惠券|购物节|苹果手机|iphone...
  9. 创意合成广告欣赏:让人脑洞大开的设计
  10. 智慧城市发展未来PSD分层海报模板|科技突破你的想象!