2014-12-04 240 views
0

我有我的html頁面和iframe,當我將鼠標放在iframe上時,我使用鼠標滾動按鈕將滾動iframe頁面,我不希望發生這種情況。但我不希望卷軸在此iframe中全部禁用,因爲我擁有fresque,而且我必須能夠使用卷軸放大在iframe中禁用滾動

我該怎麼辦?

我試着做scrollTo(0, 0);,但它在真實頁面上,而不是在iframe上。

+7

「我想禁用頁面的滾動而不停止滾動。」 - 笏? – brbcoding 2014-12-04 14:18:41

+0

以及我希望當人們使用滾動按鈕時,它不會滾動iframe頁面。但沒有禁用滾動,因爲我需要的按鈕滾動工作在fresque上的縮放 – leykan 2014-12-04 14:20:58

回答

1

你可以嘗試使用mousewheel事件取消滾動。

示例代碼:

window.onload=function(){ 
    setTimeout(function(){ //just to be sure that the document exists 
     document.onmousewheel=function(event){ 
      event.preventDefault(); 

      //add here your code to zoom 

     }; 
    },300); 
}; 

注意,IE8將始終以「內部」使用event.preventDefault();,如果你想用一個標誌來啓用/禁用滾動滾動將無法工作。

你可以在這裏閱讀更多信息:http://www.quirksmode.org/dom/events/scroll.html


這是我的老辦法:

的問題不夠具體,但我想我明白了。

這裏是一塊的jQuery來解決我的理解:

(function($){ 
    $(function(){ 
     $(window).click(function(event){ 
      if(event.which==3) //middle button 
      { 
       event.preventDefault(); 
       //remaining code for the zoom(?) 
      } 
     }); 
    }); 
})(jQuery); 

這應該禁止使用滾輪滾動頁面(不觸摸工作)。

您可以在if塊中包含縮放的代碼(?)。

包含此代碼裏面的的iframe!

+0

謝謝,就是這樣。我不能使用jQuery,但應該沒問題 – leykan 2014-12-04 14:41:33

+0

@leykan讓我爲你修復它。 – 2014-12-04 14:44:39

+0

@leykan我在答案中發現了一個問題。你應該刪除標記。我會盡力修復它 – 2014-12-04 14:47:28

1

嘗試使用SCROLLING = 「否」 選項,如

<iframe scrolling="no" src="http://www.google.com" width="400px" height="300"></iframe> 
+0

我不能滾動將被禁用,我需要它。 – leykan 2014-12-04 14:22:38

+0

對不起,我不明白你想要達到什麼目標。你能提供更多信息嗎? – eirasf 2014-12-04 14:26:02

+0

嗯,我有我的HTML頁面的iframe,當我把鼠標放在iframe上,我用鼠標滾動按鈕,它會滾動iframe頁面,我不希望發生這種情況。但我不希望滾動在此iframe中全部禁用,因爲我擁有fresque,而且我必須能夠使用滾動放大 – leykan 2014-12-04 14:29:54

0

假設: 「我想禁用頁面的滾動而不disabeling滾動(在iframe

首先,這個CSS將關閉滾動條在頁面上...

<style type="text/css"> 
    html, body { 
    overflow: hidden; 
    } 
</style> 

...和,這將禁用滾動每當我t的嘗試......

$(window).scroll(function() { 
    scroll(0,0); 
}); 

...雖然,這可能是一個更好的選擇......

document.body.scroll = "no"; 
document.body.style.overflow = 'hidden'; 
document.height = window.innerHeight;