`
yanfaguanli
  • 浏览: 655442 次
文章分类
社区版块
存档分类
最新评论

jQuery removeClass(function(index, class))

 
阅读更多
返回值:jQueryremoveClass(function(index, class))概述

从所有匹配的元素中删除全部或者指定的类。

参数function(index, class)Function

此函数必须返回一个或多个空格分隔的class名。接受两个参数,index参数为对象在这个集合中的索引值,class参数为这个对象原先的class属性值。

示例描述:

删除最后一个元素上与前面重复的class

jQuery 代码:$('li:last').removeClass(function() {
return $(this).prev().attr('class');

});

实例分析:

我们经常需要有这样的tab切换。

tab里面每个背景不一样,每个tab的当前背景也不一样。移动到相应的tab里面相应的内容显示出来。

代码如下:

$(function(){
var links = $('#tab a');
var content = $('.show');
var currentIdx = 0;
links.hover(function(){
var currentIdx = links.index(this);
content.hide();
links.removeClass(function(index){
return ('a' + (index) + 'hover');
});

$(this).addClass('a' + (currentIdx) + 'hover');
$(content[currentIdx]).show();
});
})

这就是简单的tab切换效果。

这里的亮点就是移除当前的样式, 通过索引在这个集合中的索引值来实现。

links.removeClass(function(index){
return ('a' + (index) + 'hover');
});

但是,我们有时候还会加一个需求,当没有任何交互的时候,这个tab自己轮播。也就是要加个定时器。这个好说。

但是自动轮播的情况就要想到如果轮播到最后一张,则自己换到第一张。还有一种情况就是当有交互的时候,自己轮播不是从第一张开始,而是从交互的下一张开始轮播,这才合理。

代码如下:

首先自己轮播的代码:

function autoShow(){
var currentIdx = links.index(links.filter(function(index) {
return $(this).hasClass('a' + (index) + 'hover');
}));
//在这里记住当前有样式的地方
content.hide();
links.removeClass(function(index){
return ('a' + (index) + 'hover');
});
currentIdx++;
if (currentIdx >= $(links).size()) {
currentIdx = 0;
} //如果是最后一张的情况
$(links).eq(currentIdx).addClass('a' + (currentIdx) + 'hover');
$(content[currentIdx]).show();
};

接着加上计时器:

var timer = setInterval(autoShow, 2000);

当有交互的时候要去掉这个计时器。当交互完成的时候启动计时器。

最后完整的代码如下:


$(function(){
var links = $('#tab a');
var content = $('.show');
var currentIdx = 0;
var timer = setInterval(autoShow, 2000);
links.hover(function(){
if(timer) clearInterval(timer);
var currentIdx = links.index(this);
content.hide();
links.removeClass(function(index){
return ('a' + (index) + 'hover');
});

$(this).addClass('a' + (currentIdx) + 'hover');
$(content[currentIdx]).show();
},
function(){
timer = setInterval(autoShow, 2000);
});

function autoShow(){
var currentIdx = links.index(links.filter(function(index) {
return $(this).hasClass('a' + (index) + 'hover');
}));

content.hide();
links.removeClass(function(index){
return ('a' + (index) + 'hover');
});
currentIdx++;
if (currentIdx >= $(links).size()) {
currentIdx = 0;
}

$(links).eq(currentIdx).addClass('a' + (currentIdx) + 'hover');
$(content[currentIdx]).show();
};
})

大功告成。2010年的最后一天上班。大家新年快乐!工作顺心。

分享到:
评论

相关推荐

    a标签跳转到指定div,jquery添加和移除class属性的实现方法

    也很简单,使用jquery的方法addclass()和removeclass()属性就可以完成了。 其次,jquery的代码必须写到 $(document).read(function(){ //代码 }); 以上就是小编为大家带来的a标签跳转到指定div,jquery添加和移除...

    jQuery使用removeClass方法删除元素指定Class的方法

    本文实例讲述了jQuery使用removeClass方法删除元素指定Class的方法。分享给大家供大家参考。具体分析如下: <!DOCTYPE html> <html> <head> [removed] [removed] [removed] $(document).ready...

    jQuery 1.4.1 中文参考

    4.2.4 removeClass(function(index, class)) 66 4.2.5 toggleClass(class) 66 4.2.6 toggleClass(class, switch) 67 4.2.7 toggleClass(function(index, class), [switch]) 67 4.3 HTML代码 68 4.3.1 html() 68 ...

    jQuery 1.5 API 中文版

    $.removeClass( [class] ), .removeClass( fn(index, class) ) $.toggleClass( class [, switch] ), .toggleClass( fn(index, class) [, switch] ) HTML, text str.html( ) $.html( val ), .html( fn(index, html) )...

    jQuery多级无限级导航下拉菜单代码

    jQuery多级无限级导航下拉菜单代码, jQuery多级无限级导航下拉菜单代码是一款可智能判断有没有下级菜单列表... $("ul.nav li").parent("ul").siblings("h3").append("<span class='sub'></span>"); } }); [removed]

    jQuery的幻灯片图片切换插件Slippry.zip

    onSlideBefore:function(el,index_old,index_new){ jQuery('。thumbs a img')。removeClass('active'); jQuery('img',jQuery('。thumbs a')[index_new])。addClass('active'); } }); ...

    jQuery详细教程

    演示 jQuery hide() 函数,隐藏所有 class="test" 的元素。 jQuery 语法 jQuery 语法是为 HTML 元素的选取编制的,可以对元素执行某些操作。 基础语法是:$(selector).action() • 美元符号定义 jQuery • 选择符...

    jquery需要的所有js文件

    _init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName),this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this....

    jquery常用的方法

    $(”元素名称”).removeClass(”class”) 给某元素删除指定的样式 $(”元素名称”).text(); 获得该元素的文本 $(”元素名称”).text(value); 设置该元素的文本值为value $(”元素名称”).toggleClass(class) 当元素...

    jQuery 左侧选项卡菜单点击切换代码.zip

    menu_tab.eq(index).addClass("active").siblings().removeClass("active"); li_a.removeClass("selected"); li_a.eq(index).addClass("selected").siblings().removeClass("selected"); }); } myfunction...

    jQuery文本框输入文字自动筛选效果.zip

    arr.forEach(function (ele, index) { str = '<li>\ <img src = ' ele.src ' >\ <p class="username">' ele.name '</p>\ <p class="des">' ele.des '</p>\ </li > ' }) $("ul").html(str) } ...

    jquery 联动输入插件

    if (index == 0) { $("#" + opts.promptId + " li").removeClass('selected').eq($("#" + opts.promptId + " li").length - 1).addClass('selected'); } else { $("#" + opts.promptId + " li").removeClass('...

    Jquery常用方法.txt

    $("元素名称").removeClass("class") 给某元素删除指定的样式 $("元素名称").text(); 获得该元素的文本 $("元素名称").text(value); 设置该元素的文本值为value $("元素名称").toggleClass(class) 当元素存在参数...

    JQUERY 常用方法大全

    $(”元素名称”).removeClass(”class”) 给某元素删除指定的样式 $(”元素名称”).text(); 获得该元素的文本 $(”元素名称”).text(value); 设置该元素的文本值为value $(”元素名称”).toggleClass(class) 当元素...

    jQuery开发技巧

    17 使用jquery来判断浏览器大小添加不同的class $ document ready function { function checkWindowSize { if $ window width > 1200 { $ "body" addClass "large" ; } else { $...

    jquery-1.3.2

    //Class $('p');//html标签 $("form > input");//子对象 $("div,span,p.myClass");//同时选择多种对象 $("tr:odd").css("background-color", "#bbbbff");//表格的隔行背景 $(":input");//表单对象 $("input[name='...

    jquery1.11.0手册

    removeClass([class|fn]) toggleClass(class|fn[,sw]) HTML代码/文本/值 html([val|fn]) text([val|fn]) val([val|fn|arr]) CSS CSS css(name|pro|[,val|fn])1.9* jQuery.cssHooks 位置 offset(...

    jQuery完全实例.rar

    The core functionality of jQuery centers around this function. Everything in jQuery is based upon this, or uses this in some way. The most basic use of this function is to pass in an expression ...

    jQuery多级无限级导航下拉菜单代码.zip

    js代码 [removed] $(document).ready(function() { $("ul.nav li").hover(function(){ ... $(this).addClass("on");...jQuery多级无限级导航下拉菜单代码是一款可智能判断有没有下级菜单列表的网站下拉菜单特效。

Global site tag (gtag.js) - Google Analytics