重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
(function($){
创新互联建站主要从事成都网站设计、成都网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务市中,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
})(jQuery)
用这个包起来。
原因如下:
1 首先(function(){})()这种写法 是创建了一个匿名的方法并立即执行(function(){})这个是匿名方法后面的括号就是立即调用了这个方法)。
这样做可以创建一个作用域以保证内部变量与外部变量不发生冲突,比如$ jQuery 等jquery内部定义的变量。
2 (function($){})(jQuery) 这个写法主要的作用还是保证jquery不与其他类库或变量有冲突 首先是要保证jQuery这个变量名与外部没有冲突(jquery内部$与jQuery是同一个东西 有两个名字的原因就是怕$与其他变量名有冲突二jQuery与其他变量冲突的几率非常小)并传入匿名对象,匿名对象给参数起名叫做$(其实和jquery内部是一样的) 然后你就可以自由的在(function($){})(jQuery)里写你的插件而不需要考虑与外界变量是否存在冲突
这种插件非常多, 你可以挑一个用
如果你要问原理, 关键点是
外层div是一个窗口, 控制好长宽, 设置overflow为hidden, 那么只有在此区域内的内容才会被显示
内容是一堆图片, 通过js控制位置, 比如用relative定位, 通过css控制left, 就是移动效果
如果要轮播, 注意控制边界图片次序
'position':absolute 里的 absolute要加单引号, 因为它不是变量。
然后能实现跟随鼠标了 但不是不是太精确 因为你的top和left 都是e.pageY,left应该是e.pageX
然后mouseover是鼠标移入触发,不是实时触发,要实时跟随鼠标,换成mousemove即可
$("body").mousemove(function(e){
if($("#mouseXY").html() == null){
var MouseXY = "div id='mouseXY'img src='未标题-1.png'//div" ;
$("body").append(MouseXY);
}
$("#mouseXY").css({'top':e.pageY,'left':e.pageX,'position':'absolute','z-index':1});
});