2011-02-17 45 views
0

我有一些问题,将CSS id转换为类和javascript来匹配它。我需要的脚本被多次使用的网站,如何将CSS和JavaScript转换为类

这里我的代码: CSS:

#first { 
    background-color: #FFF; 
    width: auto; 
    height: auto; 
    overflow: hidden; 
    padding: 10px; 
} 

的JavaScript:

var divh = document.getElementById('first').offsetHeight; 

//keep default height 
var divh = $("#first").outerHeight(); 

document.getElementById("first").style.height = "100px"; 

//toggle functions 
$('div:first').toggle(
    function() { 
    $("#first").stop().animate({ 
     height: divh +'px' 
    }, 1000); 
    }, 
    function() { 
    $("#first").stop().animate({ 
     height: '100px' 
    }, 1000); 
    } 
) 
+0

你想要做什么?你得到的结果是什么(可能是错误的)? – 2011-02-17 11:17:56

回答

1

如果我理解正确的话,你可以这样做:

.first { 
    background-color: #FFF; 
    width: auto; 
    height: auto; 
    overflow: hidden; 
    padding: 10px; 
} 

而Javascript会是这样的:

var divh = $('.first').offsetHeight; 

//keep default height 
var divh = $(".first").outerHeight(); 

$('.first').style.height = "100px"; 

//toggle functions 
$('div:first').toggle(
    function() { 
    $(".first").stop().animate({ 
     height: divh +'px' 
    }, 1000); 
    }, 
    function() { 
    $(".first").stop().animate({ 
     height: '100px' 
    }, 1000); 
    } 
) 

只使用jQuery选择器来选择类而不是ID。

+0

不知何故,它不工作:\ – Daniel 2011-02-17 11:43:39

+0

什么“不工作”?您是否尝试过使用Firebug在Firefox中运行,它会向您显示任何Javascript错误。 – marktucks 2011-02-17 11:48:07

+0

该幻灯片不再生成动画。 – Daniel 2011-02-17 12:28:22

1

我想你可以使用一个“class selector”让所有属于该类别的元素,然后通过一个使用each功能(参见here)动画应用于所有的人或一个。喜欢的东西:

CSS

.first { 
background-color: #FFF; 
width: auto; 
height: auto; 
overflow: hidden; 
padding: 10px; 
} 

的JavaScript:#first

0

使用。首先瞬间几乎是完全正确的。

虽然,他将$('div:first')更改为$('div.first'),这些不是同一回事。

:首先是jQuery选择器的一部分,用于只选择第一个匹配的元素(请参阅here)。

所以,如果你想选择第一个div,使用$('div:first')。如果你想选择所有具有“第一”类的div,使用$('div.first')。

0

马克的回答

$('.first').each(function() { 
    var divh = $(this).outerHeight(); 
    ecc. ecc. 
})