我正在尝试编写一个非常简单的向上滑动和滑动功能,在按下按钮后隐藏按钮,但我的javascript技巧很少,我肯定会做些傻事。
我不工作的是,当用户按下Cancel
时,菜单应该向上滑动并重新出现Show
按钮。继承人的代码
<html>
<head>
<style>
div {margin:3px; width:130px; height:30px; display:none;}
</style>
<script src="http://code.jquery.com/jquery-1.4.4.js"></script>
</head>
<body>
<button id="show" onclick="this.style.visibility = 'hidden';">Show</button>
<div><input type="text" size="20"/></div>
<div><input type="text" size="20"/></div>
<div><button id="submit">Submit</button> <button id="cancel">Cancel</button></div>
<script>
// Sliding Menu Down
$(document.body).click(function () {
if ($("div:first").is(":hidden")) {
$("div").slideDown("slow");
} else {
$("div").hide();
}
});
// Sliding Menu UP [Not Working]
$(document.body).click(function () {
if ($("#cancel").is(":hidden")) {
$("div").slideUp("slow");
} else {
$("#cancel").show();
}
});
</script>
</body>
</html>
还没有成功地尝试了一些变体:
$("cancel").click(function () {
$(this).parent().slideUp("slow", function () {
$("#msg").text($("cancel", this).text() + " has completed.");
});
});
我看过许多相关的问题和解决方案,但我无法弄清楚简单slideUp
并在取消时显示Show
按钮
答案 0 :(得分:2)
试试这个:
<html>
<head>
<style>
div.menu {margin:3px; width:130px; height:30px; display:none; }
</style>
<script src="http://code.jquery.com/jquery-1.4.4.js"></script>
<script>
$(document).ready(function(){
$('#show').click(function(){
$('#show').slideUp('slow', function(){
$('.menu').slideDown('slow').removeClass('hidden');
}).addClass('hidden');
});
$('#cancel').click(function(){
$('.menu').slideUp('slow', function(){
$('#show').slideDown('slow').removeClass('hidden');
}).addClass('hidden');
});
})(jQuery);
</script>
</head>
<body>
<button id="show">Show</button>
<div class="menu hidden"><input type="text" size="20"/></div>
<div class="menu hidden"><input type="text" size="20"/></div>
<div class="menu hidden">
<button id="submit">Submit</button>
<button id="cancel">Cancel</button>
</div>
</body>
</html>
易于使用:
$('#show').click(function(){...});
是单击ID“show”的按钮元素
的功能$('#show').slideUp('slow', function(){...}).addClass('hidden');
首先使用ID“show”向上滑动Element,然后调用该函数,然后将“隐藏”类添加到ID为“show”的元素中(如果要检查其是否可见)或不)
$('.menu').slideDown('slow', function(){ $(this).removeClass('hidden'); });
使用类“菜单”向下滑动元素,并删除隐藏的类
如果按下“取消”,功能也是如此,只有ID和类不同:)
我希望这可以帮助你......
答案 1 :(得分:1)
从哪里开始。
第一。提供所有DIV ID,以便您可以直接访问它们。
第二。在单词表示“具有此ID的元素”之前引用您想要$('#cancel')
"#"
的取消按钮a“。”表示“此类别的元素”
您确定要做$("div").slideDown("medium");
和类似吗?这意味着对所有DIV元素执行该操作
<button id="show" style="display:block;">Show</button>
<div class='inputs' style='display:none;'>
<div><input type="text" size="20"/></div>
<div><input type="text" size="20"/></div>
<div><button id="submit" class='formDone'>Submit</button> <button id="cancel" class='formDone'>Cancel</button></div>
</div>
<script>
$(document).ready(function(){
$('#show').live('click',function(){//show the form on request
$(this).hide();
$('.inputs').show();
});
$('.formDone').live('click',function(){//hide the form on submit of cancel
//use a AJAX method to submit your form maybe here???
$('#show').show();
$('.inputs').hide();
});
});
</script>