javascript
  • jquery
  • prettyphoto
  • 2012-01-25 73 views 0 likes 
    0

    我有這樣prettyphoto不會加載文件撰寫

    <span id="$RsC" class="menu" title="Action menu" onclick="menu(\''.$RsC.'\')">click</span> 
    
    function menu(id){ 
    var d = document.getElementById(id); 
    d.innerHTML ='<a href="somthing;iframe=true&amp;width=400&amp;height=170" rel="prettyPhoto[iframe]" >Doesnt work</a>'; 
    } 
    
    <script type="text/javascript" charset="utf-8"> 
    jQuery.noConflict(); 
    jQuery(document).ready(function($) { 
    $(".pp_pic_holder").remove(); 
    $(".pp_overlay").remove(); 
    $(".ppt").remove(); 
    $(".gallery a[rel^='prettyPhoto']").prettyPhoto({theme:'h0mayun'}); 
    }); 
    </script> 
    

    一些代碼的問題是,點擊後「點擊」和編寫HTML鏈接prettyPhoto插件不加載

    任何幫助將不勝感激。

    編輯------------------- 你這該死的衝突,這是再次jQuery的衝突,但要得到它的工作我改變功能,這一點:

    <script type="text/javascript" charset="utf-8"> 
    jQuery.noConflict(); 
    jQuery(document).ready(function($) { 
    $(".pp_pic_holder").remove(); 
    $(".pp_overlay").remove(); 
    $(".ppt").remove(); 
    $(".gallery a[rel^='prettyPhoto']").prettyPhoto({theme:'h0mayun'}); 
    }); 
    </script> 
    
    function menu(id){ 
    var d = document.getElementById(id); 
    d.innerHTML ='<a href="somthing;iframe=true&amp;width=400&amp;height=170" rel="prettyPhoto[iframe]" >Doesnt work</a>'; 
    jQuery.noConflict(); 
    jQuery(document).ready(function($) { 
    $(".pp_pic_holder").remove(); 
    $(".pp_overlay").remove(); 
    $(".ppt").remove(); 
    $(".gallery a[rel^='prettyPhoto']").prettyPhoto({theme:'h0mayun'}); 
    }); 
    } 
    

    回答

    0

    如果您在onClick函數之前執行此操作$(".gallery a[rel^='prettyPhoto']").prettyPhoto({theme:'h0mayun'});

    在寫完對象的html以便插件再次初始化之後,您將不得不再次執行此操作。

    1

    它不會這樣工作。在頁面加載後,您可以爲頁面上現有的元素初始化prettyPhoto。插入新元素時,prettyPhoto插件對此一無所知,因爲它已將其自身「附加」到之前存在的元素。您必須在頁面上發生所有更改後對prettyPhoto進行初始化,或者在對更新的元素進行更改後將其附加。像這樣

    function menu(id){ 
    var d = document.getElementById(id); 
    d.innerHTML ='<a href="somthing;iframe=true&amp;width=400&amp;height=170" rel="prettyPhoto[iframe]" >Doesnt work</a>'; 
    $('a', d).prettyPhoto({theme:'h0mayun'}); 
    } 
    

    PS:我做了一個簡單的測試與prettyPhoto的例子,它是工作

    function menu(id){ 
    var d = document.getElementById(id); 
    d.innerHTML ='<a href="images/fullscreen/3.jpg" rel="prettyPhoto[gallery1]">Test link</a>'; 
    $('a', d).prettyPhoto(); 
    } 
    
    +0

    感謝 但加入之後,整體功能不起作用 – h0mayun

    +0

    @ h0mayun做你有一個鏈接到頁面來查看它的行動? – Cheery

    +0

    對不起,我的本地主機 – h0mayun

    相關問題