Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript scrollIntoView和focus出现问题 var mediadforfocus=''; if(mediaIdForFocus) $('#flagimg'+mediaIdForFocus).get(0.scrollIntoView().addClass(“selectedMedia”);//重点课程 $('.logoTxt').focus();_Javascript_Php_Jquery_Zend Framework - Fatal编程技术网

Javascript scrollIntoView和focus出现问题 var mediadforfocus=''; if(mediaIdForFocus) $('#flagimg'+mediaIdForFocus).get(0.scrollIntoView().addClass(“selectedMedia”);//重点课程 $('.logoTxt').focus();

Javascript scrollIntoView和focus出现问题 var mediadforfocus=''; if(mediaIdForFocus) $('#flagimg'+mediaIdForFocus).get(0.scrollIntoView().addClass(“selectedMedia”);//重点课程 $('.logoTxt').focus();,javascript,php,jquery,zend-framework,Javascript,Php,Jquery,Zend Framework,我试图调整div$(“#flagimg”+mediaIdForFocus)的滚动,然后将焦点交给元素$(“.logoTxt”) 滚动视图调整为元素$('#flagimg'+mediaIdForFocus)但是,$('.logoTxt').focus()未提供焦点。它只在第一次发生。如果我刷新页面,它将按预期工作 请帮助我。$(文档)成功了 代码如下所示 var mediaIdForFocus = '<?php echo $this->mediaIdForFocus; ?>';

我试图调整div
$(“#flagimg”+mediaIdForFocus)
的滚动,然后将焦点交给元素
$(“.logoTxt”)

滚动视图调整为元素
$('#flagimg'+mediaIdForFocus)
但是,
$('.logoTxt').focus()未提供焦点。它只在第一次发生。如果我刷新页面,它将按预期工作

请帮助我。

$(文档)成功了

代码如下所示

var mediaIdForFocus = '<?php echo $this->mediaIdForFocus; ?>';
if(mediaIdForFocus)
$('#flagimg'+mediaIdForFocus).get(0).scrollIntoView().addClass("selectedMedia"); // highlight class
$('.logoTxt').focus();
//用于设置所选媒体的焦点(如果从“媒体”页中选择)。
var mediadforfocus='';
if(mediaIdForFocus)
$('#flagimg'+mediaIdForFocus).get(0.scrollIntoView();//重点课程
$(文档).scrollTop(0);

问题可能是代码行
$('flagimg'+mediadforfocus).get(0).scrollIntoView().addClass(“selectedMedia”)

.get(0)
返回普通元素,因此jQuery包装器消失了
.addClass()
是一个jQuery函数,无法在普通元素上执行jQuery函数

因此,首先添加类,然后在视图中滚动元素:
$('#flagimg'+mediadforfocus).addClass(“selectedMedia”).get(0).scrollIntoView()

要平滑地将元素滚动到视图中并设置焦点,可以执行以下操作

elm.scrollIntoView({behavior:'smooth',block:'center'});
elm.focus({preventsroll:true});
$(文档).scrollTop(0);只需转到页面的顶部。如果您要添加“$(document).scrollTop(0);”的话,您上面的语句就没有意义了@JacobvanLingen-van Lingen$('#flagimg'+mediaIdForFocus).get(0.scrollIntoView();将滚动条调整为$('#flagimg'+mediaIdForFocus),并将焦点设置为$('#flagimg'+mediaIdForFocus),然后设置为$(document);将整个文档滚动到顶部
// 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);