jquery里面的attr和css来设置轮播图竟然效果不一致
/*封装$*/
// 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来设置轮播图竟然效果不一致的更多相关文章
- HTML+CSS+Javascript实现轮播图效果
HTML+CSS+Javascript实现轮播图效果 注意:根据自己图片大小来更改轮播图大小. <!doctype html> <html> <head> < ...
- 用html +js+css 实现页面轮播图效果
html 页面 <html lang="en"> <head> <meta charset="UTF-8"> <met ...
- JavaScript+HTML+CSS 无缝滚动轮播图的两种方式
第一种方式 在轮播图最后添加第一张,一张重复的图片. 点击前一张,到了第一张,将父级oList移动到最后一张(也就是添加的重复的第一张),在进行后续动画. 点击下一张,到了最后一张(也就是添加的重复的 ...
- css动画属性--轮播图效果
通过css的动画属性实现轮播图的显示效果 代码如下: 主体部分: <div id="move"> <ul> <li><img src=&q ...
- css3 - 纯css实现一个轮播图
这是我上一次的面试题.一晃两个月过去了. 从前都是拿原理骗人,把怎么实现的思路说出来. 我今天又被人问到了,才想起来真正码出来.码出来效果说明一切: 以上gif,只用到了5张图片,一个html+css ...
- 纯HTML和CSS实现JD轮播图
博主使用了纯HTML和CSS实现了JD的轮播图,没有加动态效果,主要是使用了定位的知识. ,如图为两个侧边箭头图片(其实实际中应该使用CSS3的图标字体,这里没有使用). <!DOCTYPE ...
- jQuery实现简易轮播图的效果
(图片素材取自于小米官网) 刚开始接触jQuery的学习,个人觉得如果为了实现多数的动态效果,jQuery的确很简易方便. 下面简易的轮播图效果,还请前辈多多指教~ (努力学习react vue an ...
- JQuery和html+css实现带小圆点和左右按钮的轮播图
是的!你没看错!还是轮播图.这次的JQuery的哟!! CSS代码: /*轮播图 左右按钮 小白点*/ #second_div{ margin-top: 160px; } .img_box{ over ...
- Jquery 轮播图简易框架
=====================基本结构===================== <div class="carousel" style="width: ...
随机推荐
- tensorflow与kubernetes/docker结合使用实践
tensorflow tensorflow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理.Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流 ...
- Volt 模块引擎与phalcon框架组合使用指南
---- 近期工作中web页面使用由C语言编写的VOLT模板引擎,相比之前由js动态加载页面速度更快,更利于百度数据的抓取,现根据文档整理一下使用思路 (Volt是一个超快速和设计者友好的模板语言,C ...
- session fixation
转自:session fixation攻击 什么是session fixation攻击 Session fixation有人翻译成"Session完成攻击",实际上fixation ...
- iOS BUG的解决
当iOS程序报这样的错误 ld:261 dulicate symbols for architecture x86_64 clang:error:linker command failed with ...
- c#委托概念
委托的官方概念是:安全封装方法的类型. 百度百科的概念是,委托是个类,定义了方法的类型,使得方法可以作为另外一个方法的参数进行传递.使得程序具有很好的扩展性. 揉碎了讲一下这个概念: 张三要做三件事: ...
- mysql中You can't specify target table for update in FROM clause
使用mysql在删除表中重复记录 delete from user where username in (select user name form(select username from user ...
- subsequence/subsets/subarray/substring problems
128. Longest Consecutive Sequence hashmap, int up = nums[i], int down, int max 注:访问过的要erase 152. Max ...
- struts2.0中struts.xml配置文件详解
先来展示一个配置文件 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration ...
- Front-End(一)
前端初识 现在网站开发的市场越来越大,个人和企业都有了主页.网络办公的需求,并且随着网站开发前端和后台的工作细分,前端开发的需求也越来越大. 前端的任务是将美工的网页设计使用前端技术尽可能无差别地实现 ...
- phpDocumentor2安装配置和使用
今天弄了下 phpDocumentor2生成项目文档,感觉效果还是不错的 不过因为已经安装过了,之前没有截图,现在没法办重新截图了,下次补上 官网地址 http://phpdoc.org 一.安装: ...