JQuery帮助创建切换函数
我正在尝试创建一个功能切换菜单 我想我想做:JQuery帮助创建切换函数,jquery,Jquery,我正在尝试创建一个功能切换菜单 我想我想做: 当用户单击菜单项div时,应选中其复选框,并在下方显示最小菜单 如果用户再次单击menuitem div,则minmenu应隐藏,menuitems复选框应取消选中 使用一个不工作的div进行的测试: $('div#category1').click(function(e){ $('div#minimenu1').removeClass('hidediv'); $('div#minimenu1').addClass('someclas
$('div#category1').click(function(e){
$('div#minimenu1').removeClass('hidediv');
$('div#minimenu1').addClass('someclass').show(200);
$('div#minimenu1').toggle(200);
});
});
我的CSS:
.hidediv {display:none;}
我的HTML:
类别2的My Jquery代码:
$(函数(){
如果您正在使用新版本的jQuery,请选择以下复选框:
$(".myCheckbox").prop("checked", true);
如果没有:
$('.myCheckbox').attr('checked','checked');
您可以使用each函数并使用this关键字引用元素,从而使代码模块化(但您需要保留ID并将一个类添加到divs class='category'中,然后使用类似这样的方法从中获取):
试试这个
$(".menuitem").click(function() {
$(".minimenu").slideDown();
$(".menuitem:checkbox").attr("checked", true);
if ($(".menuitem").is(":visible")) {
$("#accordion").slideup("fast");
$(".menuitem:checkbox").attr("checked", flase);
}
})
下面是我编写的一个示例,显示了菜单项、标题、内容和复选框切换
<head>
<script type="text/javascript" src="http://segnosis.net/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("div").click(function(){
var sub = $(this).children(".contents").first();
if($(this).hasClass("menu-item") == true){
sub.toggle();
$("#option1").attr("checked", "checked");
}
});
});
</script>
</head>
<body>
<div class="menu-item">
<h4>Menu Item 1</h4>
<div class="contents">
<input id="option1" type="checkbox" /><label for="test1">Option 1</label>
</div>
</div>
</body>
</html>
$(文档).ready(函数(){
$(“div”)。单击(函数(){
var sub=$(this.children(“.contents”).first();
if($(this).hasClass(“菜单项”)==true){
sub.toggle();
$(“选项1”).attr(“选中”、“选中”);
}
});
});
菜单项1
选择1
您是否尝试自己编写一些代码?是的,我已将其发布在我的问题中。我已为类别1创建了我想要的代码,但我是否可以创建一个函数以避免重复编写代码?我已更新了我的问题,我会的。只有一个小问题。单击复选框时,它会被选中和取消选中。见她:
$(".myCheckbox").prop("checked", true);
$('.myCheckbox').attr('checked','checked');
$.each($('div.category'), function () {
var categoryDiv = $(this);
var relativeMinimenu = categoryDiv.next();
categoryDiv.toggle(function () {
relativeMinimenu.removeClass('hidediv').addClass('someclass').show(200);
categoryDiv.addClass('clicked').show(200);
categoryDiv.find('input:checkbox').attr('checked', 'checked');
}, function () {
categoryDiv.removeClass('clicked').find('input:checkbox').prop("checked", false);
relativeMinimenu.addClass('hidediv');
});
});
$(".menuitem").click(function() {
$(".minimenu").slideDown();
$(".menuitem:checkbox").attr("checked", true);
if ($(".menuitem").is(":visible")) {
$("#accordion").slideup("fast");
$(".menuitem:checkbox").attr("checked", flase);
}
})
<head>
<script type="text/javascript" src="http://segnosis.net/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("div").click(function(){
var sub = $(this).children(".contents").first();
if($(this).hasClass("menu-item") == true){
sub.toggle();
$("#option1").attr("checked", "checked");
}
});
});
</script>
</head>
<body>
<div class="menu-item">
<h4>Menu Item 1</h4>
<div class="contents">
<input id="option1" type="checkbox" /><label for="test1">Option 1</label>
</div>
</div>
</body>
</html>