2013-05-02 18 views
1

我一直在一個頁面上工作,我想根據屏幕上有多少房地產,以編程方式在封面幻燈片上設置CSS屬性。如果頁面小於一個邊界號碼,我不想激活幻燈片。如果頁面的寬度大於該邊界數量,但小於另一個閾值,則我希望幻燈片顯示縮小,並縮小尺寸。最後,如果它大於兩者,我想將幻燈片放在其邏輯容器中水平居中。如何獲得jQuery.css()來勝出樣式表?

http://JonathansCorner.com/blacksmiths-forge/experimental.html來源有:

<iframe id="slideshow" border="0" frameborder="0" frameborder="no" 
style="display: none;" width="318" height="424" src="/book_covers.cgi?width=318" /> 

http://JonathansCorner.com/css/combined.css的CSS有:

#slideshow 
    { 
    height: 424px; 
    position: fixed; 
    top: 240px; 
    right: 190px; 
    width: 318px; 
    } 

和JavaScript,在http://JonathansCorner.com/js/combined.js

if (jQuery(window).width() > 1200) 
    { 
    if (jQuery(window).width() > 1300) 
     { 
     var width = min(jQuery(window).width() - 1200, 318); 
     document.getElementById('slideshow').src = "/book_covers.cgi?width=" + width; 
     document.getElementById('slideshow').width = width + 'px'; 
     document.getElementById('slideshow').width = width; 
     jQuery('#slideshow').css('right', jQuery(window).width() - 1200 - 318); 
     jQuery('#slideshow').css('display', 'block'); 
     } 
    } 

我在行走的心理模型與jQuery.css()將是一張王牌,並在燙髮我迄今爲止所做的嘗試,我從來沒有意識到使用jQuery.css進行了更改。

我也嘗試過使用例如jQuery('#slideshow').css('display', 'block !important')

有沒有什麼辦法可以使用jQuery(或JavaScript)來設置屬性的方式,他們將堅持?

(什麼是錯的我初步瞭解,什麼是關於什麼的,不能用的DOM節點樣式和屬性的方案環境所做的真相嗎?)

+6

jQuery的'的CSS()'方法在元件上直列設置樣式。內聯樣式優先於樣式表中的任何內容。所以.css()應該是你的樣式表。這裏明顯的結論是,JavaScript代碼實際上並沒有運行。您是否嘗試過在開發工具調試器中使用'console.log()'或斷點來跟蹤運行時的代碼? – Spudley 2013-05-02 19:05:23

+0

@Spudley true除非樣式規則具有'!important'(這是一個很好的理由不使用它) – steveax 2013-05-02 22:44:27

回答

5

您還沒有關閉了iframe標籤,combined.js永遠不會被加載。 iframe的不是自閉標籤,它們需要打開和關閉標籤。

<iframe></iframe> 
+0

Oof!謝謝。 – JonathanHayward 2013-05-02 19:09:10

+1

林不知道「單身」是正確的詞。你的意思是「自閉」? – Ian 2013-05-02 19:17:11

+1

@Ian - 謝謝,編輯。 – Adam 2013-05-02 21:07:18