저는 li에 숨겨진 div를 표시하는 스크립트를 가지고 있지만 현재는 첫 번째 li에서 div 만 표시합니다. 스크립트는 'selected'클래스를 다른 리하지만 처음부터 div 표시하십시오.li에 숨겨진 div 표시 클래스에 'selected'가 있습니다
여기에 내 코드
$(document).on("pageinit", function(e){
$(".menu_slide").click(function(event) {
$(this).parents('li').addClass('selected');
var sm = $($("#"+ $(e.target).attr('id') +" :jqmData(slidemenu)").data('slidemenu'));
var sa = $('li.selected').attr('class');
// console.log(sm);
if($("li").hasClass("selected")){
$(document).on("click", ":jqmData(slidemenu)", function(e) {
// console.log(sm.data('slideopen'));
slidemenu(sm, sm.data('slideopen'));
e.stopImmediatePropagation();
e.preventDefault();
}); sta
} else {
// Todo code
}
});
});
function slidemenu(sm, only_close) {
if (!sm.data('slideopen') && !only_close) {
var swipe = $('.menu_slide_swipe');
var wi = $(window).width();
// Portrait Phone
if(wi == 320){
sm.show().animate({ left:'31px', avoidTransforms: true, useTranslate3d: true}, 'fast');
swipe.show().animate({ left:'6px', avoidTransforms: true, useTranslate3d: true}, 'fast');
sm.data('slideopen', true);
}
// Landscape Phone
if (wi == 569){
sm.show().animate({ left:'307px', avoidTransforms: true, useTranslate3d: true}, 'fast');
swipe.show().animate({ left:'281px', avoidTransforms: true, useTranslate3d: true}, 'fast');
sm.data('slideopen', true);
}
// Portrait Tablet
if(wi == 769){
sm.show().animate({width:'450px', left:'302px', avoidTransforms: true, useTranslate3d: true}, 'fast');
swipe.show().animate({ left:'276px', avoidTransforms: true, useTranslate3d: true}, 'fast');
sm.data('slideopen', true);
}
// Landscape Tablet
if(wi == 1024){
sm.show().animate({width:'450px', left:'552px', avoidTransforms: true, useTranslate3d: true}, 'fast');
swipe.show().animate({ left:'525px', avoidTransforms: true, useTranslate3d: true}, 'fast');
sm.data('slideopen', true);
}
if ($(":jqmData(role='header')").data('position') == 'fixed') {
} else {
$(":jqmData(slidemenu)").css('margin-left', '10px');
}
} else {
var swipe = $('.menu_slide_swipe');
sm.animate({left:'-260px', avoidTransforms: false, useTranslate3d: true}, 'fast', function(){sm.hide()});
swipe.animate({left:'-60px', avoidTransforms: false, useTranslate3d: true}, 'fast', function(){swipe.hide()});
sm.data('slideopen', false);
$(":jqmData(slidemenu)").css('margin-left', '0px');
$("li.ui-li").removeClass("selected");
}
return false;
}
편집 혹시 >의 어떤 < 리에서 '선택'클래스를 제거 될 것 같지 않습니다
$(".menu_slide").click(function (event) {
$(this).parents('li').addClass('selected');
var sm = $($("#" + $(e.target).attr('id') + " :jqmData(slidemenu)").data('slidemenu'));
var sa = $('li.selected').attr('class');
});
$(document).on("click", "li.selected :jqmData(slidemenu)", function (e) {
var sm = $($("#" + $(e.target).attr('id') + " :jqmData(slidemenu)").data('slidemenu'));
slidemenu(sm, sm.data('slideopen'));
e.stopImmediatePropagation();
e.preventDefault();
});
이 특히 위임있어 하나의 원인인지하지만, 클릭 이벤트 내부 클릭 이벤트는 일반적으로 나쁜 생각하면 나도 몰라 '문서'에서. –
당신은 html과 js로 jsfindle을 만들 수 있습니까? 어쩌면 내가 도울 수있다 –
그 부분을 볼 수 없다 * div * –