我检查了我的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";
}
}
解决方法:
function pageSliderBack(){
var pDiv = $('#slidecarousel');
if ( pDiv.hasClass("p1") ) pDiv.removeClass("p1").addClass("p5");
else if ( pDiv.hasClass("p2") ) pDiv.removeClass("p2").addClass("p1");
else if ( pDiv.hasClass("p3") ) pDiv.removeClass("p3").addClass("p2");
else if ( pDiv.hasClass("p4") ) pDiv.removeClass("p4").addClass("p3");
else if ( pDiv.hasClass("p5") ) pDiv.removeClass("p5").addClass("p4");
else pDiv.addClass("SlideErr");
}
干杯
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。