![](/img/trans.png)
[英]My jQuery BBCode script doesn't work properly, there is a little bug
[英]My script doesn't work properly and doesn't throw an error
我只是想制作一个可在jQuery中上下滑动的按钮,但它只能在50%的时间内起作用。 当我按“向上滑动”时,它可以工作,但对“向下滑动”不起作用。 它也不会给我任何错误...
这是我的代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
var test = true
var test2 = false
if(test == true){
$(document).ready(function(){
$(".btn1").click(function(){
$("p").slideUp();
});
});
}
else if(test2 == false){
$(document).ready(function(){
$(".btn2").click(function(){
$("p").slideDown();
});
});
}
</script>
</head>
<body>
<p>Hello Uranus</p>
<button class="btn1">Slide up</button>
<button class="btn2">Slide down</button>
</body>
</html>
我认为我正在忽略某些东西,或者只是在编码方面很烂,但是任何帮助将不胜感激!
您可以简单地使用jQuery .slideToggle() :
$('.btn').on('click', function(){ $('p').slideToggle(); });
<script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <p>Hello Uranus</p> <button class="btn">Slide Up/Down</button>
从您的代码中删除“其他”
看看基本的javascript开发;)
If - Else
如果您的第一个条件为true,则else
条件将不会执行。 如果您想使所有按钮正常工作,请执行以下操作:
$(document).ready(function(){
$(".btn1").click(function(){
$("p").slideUp();
});
$(".btn2").click(function(){
$("p").slideDown();
});
});
}
删除if和else。 看一下这个:
https://jsfiddle.net/wnwrnbw7/
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <script> $(document).ready(function(){ $(".btn1").click(function(){ $("p").slideUp(); }); $(".btn2").click(function(){ $("p").slideDown(); }); }); </script> <body> <p>Hello Uranus</p> <button class="btn1">Slide up</button> <button class="btn2">Slide down</button> </body>
条件阻止了这种情况的发生。 只需完全删除条件即可。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$(".btn1").click(function(){
$("p").slideUp();
});
});
$(document).ready(function(){
$(".btn2").click(function(){
$("p").slideDown();
});
});
</script>
</head>
<body>
<p>Hello Uranus</p>
<button class="btn1">Slide up</button>
<button class="btn2">Slide down</button>
</body>
</html>
您犯了很多syntax
错误以及logical
错误。 所以,我解决了那些。 请用我的替换脚本:
$(document).ready(function () {
$(".btn1").click(function () {
$("p").slideUp();
});
$(".btn2").click(function () {
$("p").slideDown();
});
});
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<p>Hello Uranus</p>
<button class="btn1">Slide up</button>
<button class="btn2">Slide down</button>
</body>
<script src="../public/js/jq.js" charset="utf-8"></script>
<script>
function toggle(flag){
if (flag ==1) {
$('p').slideUp();
}else {
$('p').slideDown();
}
}
$('.btn1').click(function(){
toggle(1);
});
$('.btn2').click(function(){
toggle(0);
});
</script>
</html>
注意:尝试使用此代码包含jquery文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.