2013-03-05 30 views
0

我一直在嘗試同時調整兩個窗口的大小,但由於某種原因它不起作用。 我試圖捕捉錯誤,但沒有。使用jquery/js同時調整兩個元素的大小

注:我不想使用jQuery的調整,因爲它沒有核對,對於一個快速inteval調整大小

JAVASCRIPT:

function _u(e){ 
    try { 
     e.parent('.boss').find('.first').width(e.width()); //tried with parent('.boss').next('.first') or directy with prev('.first') 
    } catch(err){alert(err);} 
} 

$(document).ready(function(){ 
    $(".data").each(function(){ 
     var resizerint; 
     $(this).mousedown(function(){ 
      try { 
       var eee = $(this); 
       var resizerint = setInterval(function(){ 
         try { 
          _u(eee); 
         } catch(err){alert(err);} 
        },10); // i need it 10ms 
      } catch(err){alert(err);} 

      $('.test').html('<font style="position:absolute;top:0;right:0;color:red;"> mouse DOWN </font>'); 
     }).mouseup(function(){ 
      try{ 
       clearInterval(resizerint); 
       } catch(err){alert(err);} 

      $('.test').html('<font style="position:absolute;top:0;right:0;color:green;"> mouse UP </font>'); 
     }); 
    }); 
}); 

和HTML:

<div class="boss"> 
    <div class="first"> 
     <table> 
      <tr> 
       <td> 
        <div class="title">ONEEEEE</div> 
       </td> 
      </tr> 
     </table> 
    </div> 
    <div class="second"> 
     <textarea class="data" > ONEEE TEXTY TESTY NJAMMM! </textarea> 
    </div> 
</div> 

<div class="boss"> 
    <div class="first"> 
     <table> 
      <tr> 
       <td> 
        <div class="title">TWOOOOOO</div> 
       </td> 
      </tr> 
     </table> 
    </div> 
    <div class="second"> 
     <textarea class="data" > TWOOO TEXTY TESTY NJAMMM! </textarea> 
    </div> 
</div> 

<div class="text"></div> 

預先感謝您爲您提供任何幫助。

的jsfiddle(如果你看到,藍色的犯規Resize在MOUSEDOWN在TEXTAREA) http://jsfiddle.net/2sfFW/

+0

它究竟做了什麼,是不是你想要的工作?你能用一個例子發佈一個jsfiddle嗎? – Derek 2013-03-05 20:51:16

+0

你想達到什麼目標,有多少不起作用?什麼是約束 - 你不想使用什麼?爲什麼? – 2013-03-05 21:02:43

+0

@甜菜根 - 甜菜根太多的問題,我編輯,你可以看到jsfiddle的例子 – diti 2013-03-05 21:13:38

回答

1

我的第一個答案是,有一個失蹤「$」,但它並沒有解決這個問題。

得到它在某種程度上工作,但你必須先點擊進入文本字段,然後纔會初始化。我用你的藍色版本作爲可視化工具。

正確的jQuery遍歷

e.parent().parent('.boss').find('.first') 

e.parents('.boss').find('.first') 

您,是因爲有它上面的兩個母公司的div使用複數形式。使用parent()。parent()更具體,但在這種情況下可能不需要。

http://jsfiddle.net/aQKVD/1/

如果去掉鼠標鬆開/鼠標按下處理程序將在初始化的document.ready相反,我認爲這可能是你想要的。除非您有其他需要,否則您不一定需要清除該變量,因爲.each()創建了與特定div相關的函數的單獨實例。這是一個這樣的版本:

http://jsfiddle.net/aQKVD/2/

+0

是的,這是做的伎倆,謝謝隊友:) – diti 2013-03-05 22:14:22

+0

代碼組織得像這樣:http://jsfiddle.net/2sfFW/1/ – 2013-03-06 01:04:13

0

不能解決它的jsfiddle,但對於初學者,你已經離開了一個「$」。我建立了一個JSfiddle鏈接,以便其他人可以嘗試它。 http://jsfiddle.net/aQKVD/

function _u(e){ 
try { 
    e.parent('.boss').find('.first').width(e.width()); //tried with parent('.boss').next('.first') or directly with prev('.first') 
    } catch(err){alert(err);} 
} 

$(document).ready(function(){ 
    (".data").each(function(){ 

最後一行應

$(".data").each(function(){ 
+0

nope,它不是,沒有工作,添加.first {background-color:blue;}來測試它但沒有工作,「.first」不調整 – diti 2013-03-05 21:10:05

相關問題