2010-12-01 5 views
0

누구나 quicksand 플러그인으로 나를 도와 줄 수 있습니까? pageload에로드 된 모든 데이터 값이 아닌 웹 데이터 값을 먼저로드하려고합니다. 아이디어는 내 예를 들어 웹 디자인 web.html에 대한 드롭 다운 메뉴는 기본적으로 웹 프로젝트가로드 된 모든 값을 가지고 있지 않습니다. 이것은 내 HTML입니다 : 고마워요!특정 데이터를 얻기 위해 quicksand 플러그인을 사용합니다.

<div id="smoothmenu1" class="ddsmoothmenu"> 
    <ul> 
    <li>Home</li> 
    <li>Design 
     <ul> 
     <li>Web design</li> 
     <li>Banners</li> 
     <li>Posters</li> 

     </ul> 
    </li> 
    <li>Video< 
     <ul> 
     <li>Category 1</li> 
     <li>Category 2</li> 
     <li>Category 3</li> 
     </ul> 
    </li> 
    <li>Games</li> 

    <li>Contact</li> 
    </ul> 
<ul id="content" class="gallerynav"> 

<li class="selected-1 button2">< data-value="all">All</li> 
<li class="button2">< data-value="web">Web Design</li> 
<li class="button2">< data-value="photo">Banners</li> 
<li class="button2">< data-value="video">Posters</li> 

<ul id="gallery" class="qsmall"> 
    <li data-id="id-1" class="web"> <span class="qcaption peek"> <span class="meta"> <span class="name">Om Du Möter Varg</span></span> 
<a href rel="zoombox[web]" title="Om Du Möter Varg"> </a></li></ul> 

등등.
내 자바 스크립트 파일 :

$(function() { 

    var read_button = function(class_names) { 
    var r = { 
     selected: false, 
     type: 0 
    }; 
    for (var i=0; i < class_names.length; i++) { 
     if (class_names[i].indexOf('selected-') == 0) { 
     r.selected = true; 
     } 
     if (class_names[i].indexOf('segment-') == 0) { 
     r.segment = class_names[i].split('-')[1]; 
     } 
    }; 
    return r; 
    }; 

    var determine_sort = function($buttons) { 
    var $selected = $buttons.parent().filter('[class*="selected-"]'); 
    return $selected.find('a').attr('data-value'); 
    }; 

    var determine_kind = function($buttons) { 
    var $selected = $buttons.parent().filter('[class*="selected-"]'); 
    return $selected.find('a').attr('data-value'); 
    }; 

    var $preferences = { 
    duration: 800, 
    easing: 'easeInOutQuad', 
    adjustHeight: false 
    }; 

    var $list = $('#gallery'); 
    var $data = $list.clone(); 

    var $controls = $('ul.gallerynav'); 

    $controls.each(function(i) { 

    var $control = $(this); 
    var $buttons = $control.find('a'); 

    $buttons.bind('click', function(e) { 

    var $button = $(this); 
    var $button_container = $button.parent(); 
    var button_properties = read_button($button_container.attr('class').split(' '));  
    var selected = button_properties.selected; 
    var button_segment = button_properties.segment; 

    if (!selected) { 

    $buttons.parent().removeClass('selected-1'); $button_container.addClass('selected-' + 1); 

    var sorting_type = determine_sort($controls.eq(1).find('a')); 
    var sorting_kind = determine_kind($controls.eq(0).find('a')); 

    if (sorting_kind == 'all') { 
     var $filtered_data = $data.find('li'); 
    } else { 
     var $filtered_data = $data.find('li.' + sorting_kind); 
    } 

    if (sorting_type == 'size') { 
     var $sorted_data = $filtered_data.sorted({ 
     by: function(v) { 
      return parseFloat($(v).find('span').text()); 
     } 
     }); 
    } else { 
     var $sorted_data = $filtered_data.sorted({ 
     by: function(v) { 
      return $(v).find('strong').text().toLowerCase(); 
     } 
     }); 
    } 

    $list.quicksand($sorted_data, { 
    enhancement: function() { 
    zoombox.init(); 
} 

}, function() { 

$('.qcaption.peek').hover(function(){ 
    $(".cover", this).stop().animate({top:'25px'},{queue:false,duration:160}); 
}, function() { 
$(".cover", this).stop().animate({top:'0px'},{queue:false,duration:160}); 
    }); 
}); 

}

e.preventDefault(); 
}); 

});

});

답변

1

이것은 내가 무슨 짓을 :

<script type="text/javascript"> 
    $(document).ready(function() { 
     $(".class").trigger('click'); 
    }); 
</script> 

아마 최선의 해결책은 아니지만 나를 위해 일했다. .class는 트리거로 복제 할 링크의 클래스 여야합니다. 이렇게하면 페이지를로드 할 때 해당 앵커에서 가짜 클릭을하면 실제로 클릭 한 것으로 믿을 수 있습니다.

관련 문제