Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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/8/mysql/64.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
jQuery focus()未生成虚线轮廓或未正确选择辅助功能_Jquery_Navigation_Focus - Fatal编程技术网

jQuery focus()未生成虚线轮廓或未正确选择辅助功能

jQuery focus()未生成虚线轮廓或未正确选择辅助功能,jquery,navigation,focus,Jquery,Navigation,Focus,我的任务是制作类似的导航辅助功能选项卡,在这个索尼网站上可以看到: 我感兴趣的一点是,当你将鼠标悬停在“产品”上时,例如,你会注意到菜单中的第一个图像周围有一条细虚线。从这里,如果您使用键盘上的tab键,则可以通过菜单选项进行tab。如果将鼠标悬停在不同的主菜单项上,虚线将出现在该菜单中的第一个图像上 下面的代码是我试图实现这种效果的尝试,这似乎与索尼的做法类似,因为我查看了他们的jquery-main.js文件,但mind不起作用 下面是我的代码(首先是标记)来尝试执行同样的操作 <di

我的任务是制作类似的导航辅助功能选项卡,在这个索尼网站上可以看到:

我感兴趣的一点是,当你将鼠标悬停在“产品”上时,例如,你会注意到菜单中的第一个图像周围有一条细虚线。从这里,如果您使用键盘上的tab键,则可以通过菜单选项进行tab。如果将鼠标悬停在不同的主菜单项上,虚线将出现在该菜单中的第一个图像上

下面的代码是我试图实现这种效果的尝试,这似乎与索尼的做法类似,因为我查看了他们的jquery-main.js文件,但mind不起作用

下面是我的代码(首先是标记)来尝试执行同样的操作

<div class="main-navigation@(Request.QueryString.Get("breadcrumb") != "1" ? "" : " type-2")">
<ul class="cf">

    <li class="mmnu"><a href="javascript:;">Products</a></li>

    <li class="mmnu"><a href="javascript:;">Your Business</a></li>

    <li class="mmnu"><a href="javascript:;">Where To Buy</a></li>

    <li class="mmnu"><a href="javascript:;">Support</a> </li>

    <li class="mmnu"><a href="javascript:;">Contact Us</a></li>

    <li class="mmnu"><a href="javascript:;">Partners</a></li>

</ul>

    <div class="expand-SD@(Request.QueryString.Get("breadcrumb") != "1" ? " type-2" : "")">

    <div class="category-navigation-SD SD-m1"><!-- PRODUCTS -->

        <div class="row-separator-SD cf">

            <div class="col-1x4 frst">
                <a href="#"><img width="50" height="24" width="50" height="24" src="assets/images/content/_0049_channel_partners.svg" alt="Category Thumbnail" /></a>
                <h2><a href="#">Broadcast & Pro A/V</a></h2>
                <ul>
                    <li><a id="ezone" onclick="s_objectID='topdropdown:Digital Signage';try{sc_navMethod('topdropdown');}catch(err){}" href="Iframe_Page?url=popup_my_subscriptions.cshtml&amp;iW=921&amp;iH=810" class="fancybox.iframe">New iframe</a></li>
                    <li><a href="">HD & SD Camcorders</a></li>
                    <li><a href="">Camera Systems</a></li>
                    <li><a href="">HD Decks, Recorders & VTRs</a></li>
                    <li><a href="">Professional Media</a></li>
                    <li><a href="">Production Switchers & Image Processing</a></li>
                    <li><a href="">Production Monitors</a></li>
                    <li><a href="">Professional Audio</a></li>
                </ul>
                <a href="#" class="more">More ></a>
            </div>
            <div class="col-1x4">
                <a href="#"><img width="50" height="24" src="assets/images/content/_0050_prime_support.svg" alt="Category Thumbnail" /></a>
                <h2><a href="#">Broadcast Solutions</a></h2>
                <ul>
                    <li><a href="">Outside Broadcast</a></li>
                    <li><a href="">News Aquisition & Production</a></li>
                    <li><a href="">Studios</a></li>
                    <li><a href="">Content Management & Distribution</a></li>
                </ul>
                <a href="#" class="more">More ></a>
            </div>
            <div class="col-1x4">
                <a href="#"><img width="50" height="24" src="assets/images/content/_0047_projector.svg" alt="Category Thumbnail" /></a>
                <h2><a href="#">4K Digital Cinema</a></h2>
                <ul>
                    <li><a href="">4K Digital Cinema Projectors</a></li>
                    <li><a href="">High Frame Rate Software</a></li>
                    <li><a href="">Theatre Management Solutions</a></li>
                    <li><a href="">Entertainment Access Glasses</a></li>
                    <li><a href="">Accessories</a></li>
                </ul>
                <a href="#" class="more">More ></a>
            </div>
            <div class="col-1x4 lst">
                <a href="#"><img width="50" height="24" src="assets/images/content/_0048_sales_enquiries_2.svg" alt="Category Thumbnail" /></a>
                <h2><a href="#">Video Security</a></h2>
                <ul>
                    <li><a href="">Cameras</a></li>
                    <li><a href="">Recorders</a></li>
                    <li><a href="">Monitoring Software</a></li>
                    <li><a href="">Digital Encoders</a></li>
                    <li><a href="">Video Security Monitors</a></li>
                    <li><a href="">Accessories</a></li>
                </ul>
                <a href="#" class="more">More ></a>
            </div>                                  


        </div><!-- ROW SEPARATOR END -->

        <div class="row-separator-SD cf">

            <div class="col-1x4 frst">
                <a href="#"><img width="50" height="24" src="assets/images/content/_0024_medical.svg" alt="Category Thumbnail" /></a>
                <h2><a href="#">Medical</a></h2>
                <ul>
                    <li><a href="">3D Medical Products</a></li>
                    <li><a href="">Radiology Imagers</a></li>
                    <li><a href="">Printers</a></li>
                    <li><a href="">Print Media</a></li>
                    <li><a href="">Monitors</a></li>
                </ul>
                <a href="#" class="more">More ></a>
            </div>
            <div class="col-1x4">
                <a href="#"><img width="50" height="24" src="assets/images/content/_0025_video_conferencing.svg" alt="Category Thumbnail" /></a>
                <h2><a href="#">Video Conferencing</a></h2>
                <ul>
                    <li><a href="">tbc</a></li>
                    <li><a href="">tbc</a></li>
                    <li><a href="">tbc</a></li>
                </ul>
                <a href="#" class="more">More ></a>
            </div>
            <div class="col-1x4 lst">
                <a href="#"><img width="50" height="24" src="assets/images/content/_0028_semi_conductors.svg" alt="Category Thumbnail" /></a>
                <h2><a href="#">Semiconductors</a></h2>
                <ul>
                    <li><a href="">Technical Library Login</a></li>
                    <li><a href="">Technical Library Registration</a></li>
                </ul>
                <a href="#" class="more">More ></a>
            </div>


        </div><!-- ROW SEPARATOR END -->

        <div class="SD-nsh">

            <a href="#" class="SD-cls"><img width="80" height="40" src="assets/images/content/menu_close.svg" alt="Menu close image" /></a>

        </div>

    </div><!-- PRODUCTS END -->
演示:

编辑:包含animateTosized()代码

function animateToSizeSD(tabNum){
                if (tabNum == "0" && !allClosedSD()) { 
                    $('.expand-SD').show().animate({height:SDHarr[0]},'slow');
                    $('.main-navigation ul li').removeClass('hover');
                    $('.main-navigation ul li:eq(0)').addClass('hover');
                } else if (tabNum == "0")
                {
                    $('.expand-SD').delay(400).show().animate({height:SDHarr[0]},'slow');
                    $('.main-navigation ul li').removeClass('hover');
                    $('.main-navigation ul li:eq(0)').addClass('hover');
                }
                if (tabNum == "1" && !allClosedSD()) { 
                    $('.expand-SD').show().animate({height:SDHarr[1]},'slow');
                    $('.main-navigation ul li').removeClass('hover');
                    $('.main-navigation ul li:eq(1)').addClass('hover');
                } else if (tabNum == "1")
                {
                    $('.expand-SD').delay(400).show().animate({height:SDHarr[1]},'slow');
                    $('.main-navigation ul li').removeClass('hover');
                    $('.main-navigation ul li:eq(1)').addClass('hover');
                }
                if (tabNum == "2" && !allClosedSD()) { 
                    $('.expand-SD').show().animate({height:SDHarr[2]},'slow');
                    $('.main-navigation ul li').removeClass('hover');
                    $('.main-navigation ul li:eq(2)').addClass('hover');
                } else if (tabNum == "2")
                {
                    $('.expand-SD').delay(400).show().animate({height:SDHarr[2]},'slow');
                    $('.main-navigation ul li').removeClass('hover');
                    $('.main-navigation ul li:eq(2)').addClass('hover');
                }
                if (tabNum == "3" && !allClosedSD()) { 
                    $('.expand-SD').show().animate({height:SDHarr[3]},'slow');
                    $('.main-navigation ul li').removeClass('hover');
                    $('.main-navigation ul li:eq(3)').addClass('hover');
                } else if (tabNum == "3")
                {
                    $('.expand-SD').delay(400).show().animate({height:SDHarr[3]},'slow');
                    $('.main-navigation ul li').removeClass('hover');
                    $('.main-navigation ul li:eq(3)').addClass('hover');
                }
                if (tabNum == "4" && !allClosedSD()) { 
                    $('.expand-SD').show().animate({height:SDHarr[4]},'slow');
                    $('.main-navigation ul li').removeClass('hover');
                    $('.main-navigation ul li:eq(4)').addClass('hover');
                } else if (tabNum == "4")
                {
                    $('.expand-SD').delay(400).show().animate({height:SDHarr[4]},'slow');
                    $('.main-navigation ul li').removeClass('hover');
                    $('.main-navigation ul li:eq(4)').addClass('hover');
                }
                if (tabNum == "5" && !allClosedSD()) { 
                    $('.expand-SD').show().animate({height:SDHarr[5]},'slow');
                    $('.main-navigation ul li').removeClass('hover');
                    $('.main-navigation ul li:eq(5)').addClass('hover');
                } else if (tabNum == "5")
                {
                    $('.expand-SD').delay(400).show().animate({height:SDHarr[5]},'slow');
                    $('.main-navigation ul li').removeClass('hover');
                    $('.main-navigation ul li:eq(5)').addClass('hover');
                }
            };

为了显示一些正确的格式,我将使用一个答案。我试图建议将焦点调用移动到动画函数,如下所示:

$('.expand-SD').show().animate({
        height: SDHarr[0]
    }, 'slow', function () {
        $('.SD-m1 div ul li:first a').focus();
    });

这样,焦点将在动画完成后执行

您的描述是在讨论悬停时的效果,但您的代码使用了单击处理程序。你想做什么,悬停还是点击?当你聚焦时你的动画完成了吗?否则,您可能希望将焦点部分放在动画中,以便在完成时聚焦。这里的示例:nnnnnn-我使用的是一个单击处理程序,但我不知道该部分完全相关,因为我只是尝试重新创建focus()部分。耶罗尼莫-我认为它还没有完成,正如您在我使用animateToSizeSD()运行动画的代码中看到的那样;之后不久,将其命名为“$('.SD-m1 div ul li:first a').focus();”。这就是你的意思吗?当你点击一个锚时,通常会导致导航,这会影响焦点。您的单击处理程序不会调用
事件。preventDefault()
,也不会
返回false
以防止默认的单击行为,尽管您的
href=“javascript:;”
可能也会有相同的效果。您可以发布您的animateToSizeSD代码吗?谢谢,我很快就会尝试一下。这非常有效。非常感谢你。我从来没有想到,在focus()函数开始工作之前,动画需要完成。
$('.expand-SD').show().animate({
        height: SDHarr[0]
    }, 'slow', function () {
        $('.SD-m1 div ul li:first a').focus();
    });