s()++php,jquery siblings()函数正确用法

直接看一个例子:

.test{color:#900;font-size: 0;border-radius: 6px;}

.test span{display: inline-block;font-size: 12px;text-align: center;cursor: pointer;padding: 5px;background-color: #E6E6E6;border: 1px solid #b3b3b3;margin-right: -1px;}

.test span:first-child{border-radius: 4px 0 0 4px;}

.test span:last-child{border-radius: 0 4px 4px 0;}

.test .on{background-color: #cecece;border: 1px solid #900;position: relative;}

01

02

03

04

05

// siblings()用于初始化,在后续的点击事件中不应该使用siblings(),

$(".test span").eq(0).addClass("on").siblings().removeClass("on");

var that=$(".test span").eq(0)[0];

$(".test span").click(function(event) {

// $(this).addClass('on').siblings('span').removeClass('on');

if(typeof(that)!="undefined"){

$(that).removeClass("on");

}

$(this).addClass('on');

that=this;

});

提示:你可以先修改部分代码再运行。

上面的实例,如果是有通过jq去实现点击前的效果的初始化,即打开页面就选中第1个span标签,typeof(that)!="undefined"这个判断可直接省略掉了,但这个不是本文的重点!重点在正面↓

为实现上面的点击效果,如果还在使用注释中的: $(this).addClass('on').siblings('span').removeClass('on'); 语句来实现,在某种程度上来讲,你有滥用jq的习惯,而完全不考虑js的性能,有这习惯的,中枪的,得改改了,呵呵。

2种写法,经过运行时间测试,发现时间竟然相差无几,也许这就是jq的强大之处,有兴趣的可以看下jq的siblings()的实现源码,也许会发现本文的观点是错误的,欢迎指正!

好的,我来给您提供一个使用 jQuerysiblings 函数完成图片轮播的示例代码: HTML 代码: ```html <div class="slider"> <img src="img1.jpg" alt="图片1"> <img src="img2.jpg" alt="图片2"> <img src="img3.jpg" alt="图片3"> </div> ``` CSS 代码: ```css .slider { position: relative; width: 800px; height: 400px; overflow: hidden; } .slider img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; z-index: 1; } .slider img.active { opacity: 1; z-index: 2; } ``` JavaScript 代码: ```javascript $(function() { // 获取图片元素和计数器 const $imgs = $('.slider img'); let count = 0; // 定义轮播函数 function slide() { // 获取当前图片和下一张图片 const $currentImg = $imgs.eq(count); const $nextImg = $currentImg.siblings('img').eq(count); // 切换图片 $currentImg.removeClass('active'); $nextImg.addClass('active'); // 更新计数器 count = (count + 1) % $imgs.length; } // 设置定时器 setInterval(slide, 3000); }); ``` 代码中,我们首先使用 jQuery 的 `$` 函数获取图片元素和计数器。接着,我们定义了轮播函数 `slide`,其中使用了 jQuery 的 `siblings` 函数获取下一张图片。在轮播函数中,我们将当前图片的 `active` 类移除,同时将下一张图片的 `active` 类添加上,从而实现了图片的切换。最后,我们使用 `setInterval` 函数设置了一个定时器,每隔3秒调用一次轮播函数。 希望对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值