/*封装$*/
// window.$=HTMLElement.prototype.$=function(selector){
// var elems=(this==window?document:this)
// .querySelectorAll(selector);
// return elems.length==0?null:elems.length==1?elems[0]:elems;
// }
/*广告图片数组*/
var imgs=[
{"i":0,"img":"images/index/banner_01.jpg"},
{"i":1,"img":"images/index/banner_02.jpg"},
{"i":2,"img":"images/index/banner_03.jpg"},
{"i":3,"img":"images/index/banner_04.jpg"},
{"i":4,"img":"images/index/banner_05.jpg"},
];
var adv={
LIWIDTH:0,
$ulImages:null,
INTERVAL:1000,
WAIT:3000,
timer:null,
init:function () {
this.LIWIDTH=parseFloat($('#slider').css("width"));
this.$ulImages=$("#imgs");
this.updateView();
$("#indexs").on("mouseover","li",(e)=>{
var target=$("#indexs>li").index(e.target); var old=imgs[0].i; this.move(target-old);
});
this.autoMove(); },
autoMove:function(){
this.timer=setTimeout(
()=>this.move(1),this.WAIT
); },
movePre:function(n){
n*=-1;
imgs=imgs.splice(-n,n).concat(imgs);
this.updateView();
this.$ulImages.css("left",parseFloat(this.$ulImages.css("left"))-n*this.LIWIDTH); },
move:function (n) {
clearTimeout(this.timer);
if(n<0){
this.movePre(n);
this.$ulImages.stop(true);
this.$ulImages.animate({left:0},this.INTERVAL,()=>this.autoMove())
}else {
this.$ulImages.stop(true);
this.$ulImages.animate({left:-n*this.LIWIDTH},this.INTERVAL,
()=>this.moveCallback(n) ); } }, moveCallback:function (n) {
imgs=imgs.concat(imgs.splice(0,n));
this.updateView();
this.$ulImages.css("left",0);
this.autoMove(); },
updateView:function(){
for(var i=0 ,lis='',idxs='';i<imgs.length;i++)
{
// lis+='<li> <img src='+imgs[i].img+'></li>';
lis+=`<li> <img src=" ${imgs[i].img}"></li>`; idxs+='<li></li>'; }
this.$ulImages.html(lis).css("width",imgs.length*this.LIWIDTH);
$("#indexs").html(idxs);
// $("#indexs").children(":nth-child("+imgs[1].i+")").addClass("hover");
$("#indexs").children(`li:eq(${imgs[0].i})`).addClass("hover"); }
};
adv.init();

 今天在写轮播图的时候发现了jquery的一个小问题,很希望和大家进行交流一下,

上面是轮播图的js代码,和奇怪的是:

this.$ulImgs.css("left",0);
this.autoMove();//启动自动轮播

这种写法轮播图会有滑动的效果。

this.$ulImgs.attr("left",0);
this.autoMove();//启动自动轮播

这种写法就没有滑动的效果,但是也是轮播,不平滑。

找了有些资料如下

<a href="#" style="xxx" title="" alt="">xxx</a>

两个不相同呀,css是和style有关,attr是都可以获取,比如上面href,title,alt.

既然attr可以同时获取不能设置吗?????????????

jquery里面的attr和css来设置轮播图竟然效果不一致的更多相关文章

  1. HTML+CSS+Javascript实现轮播图效果

    HTML+CSS+Javascript实现轮播图效果 注意:根据自己图片大小来更改轮播图大小. <!doctype html> <html> <head> < ...

  2. 用html +js+css 实现页面轮播图效果

    html 页面 <html lang="en"> <head> <meta charset="UTF-8"> <met ...

  3. JavaScript+HTML+CSS 无缝滚动轮播图的两种方式

    第一种方式 在轮播图最后添加第一张,一张重复的图片. 点击前一张,到了第一张,将父级oList移动到最后一张(也就是添加的重复的第一张),在进行后续动画. 点击下一张,到了最后一张(也就是添加的重复的 ...

  4. css动画属性--轮播图效果

    通过css的动画属性实现轮播图的显示效果 代码如下: 主体部分: <div id="move"> <ul> <li><img src=&q ...

  5. css3 - 纯css实现一个轮播图

    这是我上一次的面试题.一晃两个月过去了. 从前都是拿原理骗人,把怎么实现的思路说出来. 我今天又被人问到了,才想起来真正码出来.码出来效果说明一切: 以上gif,只用到了5张图片,一个html+css ...

  6. 纯HTML和CSS实现JD轮播图

    博主使用了纯HTML和CSS实现了JD的轮播图,没有加动态效果,主要是使用了定位的知识.  ,如图为两个侧边箭头图片(其实实际中应该使用CSS3的图标字体,这里没有使用). <!DOCTYPE ...

  7. jQuery实现简易轮播图的效果

    (图片素材取自于小米官网) 刚开始接触jQuery的学习,个人觉得如果为了实现多数的动态效果,jQuery的确很简易方便. 下面简易的轮播图效果,还请前辈多多指教~ (努力学习react vue an ...

  8. JQuery和html+css实现带小圆点和左右按钮的轮播图

    是的!你没看错!还是轮播图.这次的JQuery的哟!! CSS代码: /*轮播图 左右按钮 小白点*/ #second_div{ margin-top: 160px; } .img_box{ over ...

  9. Jquery 轮播图简易框架

    =====================基本结构===================== <div class="carousel" style="width: ...

随机推荐

  1. 关于javascript变量作用域的研究。

    开始 一个变量的作用域(scope)是程序源代码中定义这个变量的区域.全局变量具有全局作用域,在javascript中的任何地方都是有定义的.然而在函数内申明的变量只在函数体内有定义.他们是局部变量, ...

  2. 【.NET】电话号码打星号(隐藏部分)

    描述:支持多个电话: //隐藏部分内容,支持一个值有多个联系方式,用逗号隔开.//参数:value - 值,subIndex - 从第几位开始,subQty - 隐藏几位数 protected str ...

  3. Kattis - Aaah!

    Aaah! Photo by Unknown Jon Marius shouted too much at the recent Justin Bieber concert, and now need ...

  4. JNDI中 java:comp/env 的理解

    J2EE 上下文环境变量前缀,一般有如下几种:java:/comp/env/jdbcjava:/comp/env/urljava:/comp/env/mailjava:/comp/env/jms在部署 ...

  5. C# CacheHelper

    using System; using System.Collections; using System.Collections.Generic; using System.Linq; using S ...

  6. 使用Stardict命令行版本sdcv

    sdcv命令的常用选项如下: -l:列出安装的词典 -u:指定查词所用的词典 在我的电脑上列出的词典有: Dictionary's name Word count Merrian Webster 10 ...

  7. C#调用winhttp组件 POST登录迅雷

    下面是封装好的winhttp类 using System; using System.Collections.Generic; using System.Linq; using System.Text ...

  8. SQL 判断 ‘表,存储过程,函数 ...’ 已是否存在

    下面为您介绍sql下用了判断各种资源是否存在的代码,需要的朋友可以参考下,希望对您学习sql的函数及数据库能够有所帮助.库是否存在if exists(select * from master..sys ...

  9. iOS7之后经过滑动返回导航栏隐藏和显示带来的坑(转载)

    iOS7之后经过滑动返回导航栏隐藏和显示带来的坑 Apple 自从iOS7之后增加了屏幕边缘右滑返回交互的支持,再配合UINavigationController的交换动画,pop上一级的操作变的非常 ...

  10. 浅谈javascript中stopImmediatePropagation函数和stopPropagation函数的区别

    在事件处理程序中,每个事件处理程序中间都会有一个event对象,而这个event对象有两个方法,一个是stopPropagation方法,一个是stopImmediatePropagation方法,两 ...