【发布时间】:2014-01-12 13:06:19
【问题描述】:
我检查了我的 javascript,它没有显示任何错误,但它根本没有做任何事情。
这里是html代码:
<body>
<!--The div who's function isn't working-->
<div id="sliderButtonB" onclick='pageSliderBack()'>Go Back</div>
<!--End of not-functioning div-->
<!--The Slider That is supposed to change **backwards** -->
<div id='slidecarousel' class='p1' onclick='pageSlider(this)'>
...
...
...
</div>
</body>
这是不起作用的javascript:
function pageSliderBack(){
var pDiv = $('#slidecarousel')
if ( pDiv.attr("class").match(/(?:^|\s)p1(?!\S)/) ){
pDiv.className = "p5";
} else if ( pDiv.attr("class").match(/(?:^|\s)p2(?!\S)/) ){
pDiv.className = "p1";
} else if ( pDiv.attr("class").match(/(?:^|\s)p3(?!\S)/) ){
pDiv.className = "p2";
} else if ( pDiv.attr("class").match(/(?:^|\s)p4(?!\S)/) ){
pDiv.className = "p3";
} else if ( pDiv.attr("class").match(/(?:^|\s)p5(?!\S)/) ){
pDiv.className = "p4";
} else {
pDiv.className = "SlideErr";
}
}
这是页面上的其余 javascript;此功能有效,但另一个无效:
function pageSlider(elem){
if ( elem.className.match(/(?:^|\s)p1(?!\S)/) ){
elem.className = "p2";
} else if ( elem.className.match(/(?:^|\s)p2(?!\S)/) ){
elem.className = "p3";
} else if ( elem.className.match(/(?:^|\s)p3(?!\S)/) ){
elem.className = "p4";
} else if ( elem.className.match(/(?:^|\s)p4(?!\S)/) ){
elem.className = "p5";
} else if ( elem.className.match(/(?:^|\s)p5(?!\S)/) ){
elem.className = "p1";
} else {
elem.className = "SlideErr";
}
}
【问题讨论】:
-
将函数 pageSliderBack(elem) 更改为函数 pageSliderBack()
-
将 onclick='pageSliderBack()' 更改为 onclick='pageSliderBack(this)'
-
感谢您提出的修改建议!
-
他从不使用函数中的参数,所以没关系。
标签: javascript jquery html