2015-05-20 28 views
0

我是一個初學者的JavaScript和wordpress。側邊欄沒有顯示在正確的地方,直到網站完成加載

我有模板Detube,我想修改。我必須使側邊欄半固定和滾動無限。

這些修改,但它不工作,我想要的方式。側欄在操作該站點時出現在左側,幾秒鐘後重新恢復到右側。你可以看到結果這裏
我想解決這個問題

腳本的代碼如下

jQuery(document).ready(function($) { 
    $=javascript.noConflict(); 
    $(document).scroll(function() { 

     var scrollPosition = $(document).scrollTop(); 
     var scrollReference = 2100; 
     if (scrollPosition >= scrollReference) {  
      $('#dpe_fp_widget-4').css('position', 'fixed'); 
      $('#dpe_fp_widget-4').css('top', '100px'); 
      $('#dpe_fp_widget-4').css('left', 'initial'); 

      $('#dpe_fp_widget-5').css('position', 'fixed'); 
      $('#dpe_fp_widget-5').css('top', '100px'); 
      $('#dpe_fp_widget-5').css('left', 'initial'); 

      $('#text-6').css('position', 'fixed'); 
      $('#text-6').css('top', '550px'); 
      $('#text-6').css('left', 'initial'); 

      $('#text-7').css('position', 'fixed'); 
      $('#text-7').css('top', '550px'); 
      $('#text-7').css('left', 'initial'); 

     } else { 
      $('#dpe_fp_widget-4').css('position', 'absolute'); 
      $('#dpe_fp_widget-4').css('top', '841px'); 
      $('#dpe_fp_widget-4').css('left', '0px'); 

      $('#dpe_fp_widget-5').css('position', 'absolute'); 
      $('#dpe_fp_widget-5').css('top', '841px'); 
      $('#dpe_fp_widget-5').css('left', '0px'); 

      $('#text-6').css('position', 'absolute'); 
      $('#text-6').css('top', '1291px'); 
      $('#text-6').css('left', '0px'); 

      $('#text-7').css('position', 'absolute'); 
      $('#text-7').css('top', '1291px'); 
      $('#text-7').css('left', '0px'); 
     }; 
    }); 

}); 

我調用腳本在文件function.php

function my_loader_jquery() { 

    if(!is_admin()){ 
     wp_deregister_script('jquery'); 
     wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js', false, ''); 
     wp_enqueue_script('jquery'); 
    } 
} 

add_action('init', 'my_loader_jquery'); 

function theme_js() { 

    wp_enqueue_script('sidebar-fixe', get_template_directory_uri() . '/js/sidebar-fixe.js', array()); 

    wp_enqueue_script('infinite-scroll', get_template_directory_uri() . '/js/infinite-scroll.js', array()); 

} 

css

#sidebar { 
    width:336px; 
    float:right; 
} 


/*== Sidebar 
*=================================*/ 
#sidebar .widget{width:300px; padding-top: 30px;} 

注意:請原諒我的英語

+0

這對於簡單功能來說代碼太多了。難怪瀏覽器也很困惑。 –

+0

您的意思是劇本太長了嗎? – cihan17

回答

0

您是否嘗試過呼籲window.load(),而不是ready()腳本。

+0

我認爲這個答案*可能*確實是有效的,如果只有更多的信息:在哪裏?什麼?爲什麼?怎麼樣? – TobiMcNamobi

+0

它的工作!謝謝Pradeep Rana! ,但速度很慢,我怎樣才能讓它加載速度更快 – cihan17

0

嘗試添加位置:相對上#sidebar在CSS .widget :

#sidebar .widget { 
     width: 300px; 
     padding-top: 30px; 
     position: relative; 
} 
+0

那不解決問題 – cihan17

+0

任何其他建議? – cihan17