2013-10-04 97 views
0
var mediaIdForFocus = '<?php echo $this->mediaIdForFocus; ?>'; 
if(mediaIdForFocus) 
$('#flagimg'+mediaIdForFocus).get(0).scrollIntoView().addClass("selectedMedia"); // highlight class 
$('.logoTxt').focus(); 

我試圖調整一個div $('#flagimg'+mediaIdForFocus)的滾動,然後將焦點放到元素$('.logoTxt')問題與scrollIntoView和重點

滾動視圖調整爲元素$('#flagimg'+mediaIdForFocus)但是,$('.logoTxt').focus();是不是給焦點。它只發生在第一次。如果我刷新頁面,它按預期工作。

請幫幫我。

回答

0

$(document).scrollTop(0);的伎倆下面

// for setting the focus to selected media if it is chosen from media page. 
var mediaIdForFocus = '<?php echo $this->mediaIdForFocus; ?>'; 
if(mediaIdForFocus) 
    $('#flagimg'+mediaIdForFocus).get(0).scrollIntoView(); // highlight class 
$(document).scrollTop(0); 
+0

的$(document).scrollTop(0);只是進入頁面的頂部。如果你想添加'$(document).scrollTop(0);' –

+0

@JacobvanLingen van Lingen $('#flagimg'+ mediaIdForFocus).get(0).scrollIntoView();將調整$('#flagimg'+ mediaIdForFocus)的滾動條並將焦點設置爲$('#flagimg'+ mediaIdForFocus),然後$(document).scrollTop(0);將整個文檔滾動到頂部 –

0

代碼給出的問題是propably的代碼行$('#flagimg'+mediaIdForFocus).get(0).scrollIntoView().addClass("selectedMedia");

.get(0)返回平原的元素,所以jQuery的包裝走了。 .addClass()是一個jQuery函數,在普通元素上執行jQuery函數是不可能的。

因此,首先添加的類別,之後滾動視圖中的元素: $('#flagimg'+mediaIdForFocus).addClass("selectedMedia").get(0).scrollIntoView();