javascript - Jquery - 如果条件为真或假,如何在单击后滚动元素 ID?

标签 javascript jquery html css jquery-mobile

我的 Jquery 有问题我只想在元素可见时滚动元素,如果元素隐藏则不要滚动。你能帮助我吗 ?非常感谢。

jQuery:

$('#menu').click(function(e){
e.preventDefault();
$('#nav').slideToggle('300');
if($("#nav").css('visibility') == 'hidden') {

}else{
    $('#nav h4 a').trigger('click');
    $('html, body').animate({
    scrollTop: $("#nav").offset().top
  }, 1000);   


}

HTML:

<div id="header" data-role="header" data-position="fixed" data-theme="b" style="border:none;" >
  <div class="ui-btn-right" data-role="controlgroup" data-type="horizontal">
    <a id="menu" href="#"><img width="37px" src="/css/menu.png" alt="menu" /></a> <!-- icon to show element or hide -->
  </div>
</div>


<div id="nav" data-role="collapsible" data-theme="b"> <!-- Code for element where to scroll -->
            <h4>Menu</h4>                                        
            <div data-role="listview" data-inset="true">
            ..content
            </div>
</div>

最佳答案

试试这个

$('#menu').click(function(e){
  e.preventDefault();
  $('#nav').slideToggle('300');
  if($('#nav').is(':visible') ) // if true means
  {
    $('#nav h4 a').trigger('click');
    $('html, body').animate({
    scrollTop: $("#nav").offset().top
    }, 1000); 
  }
});
console.log($('#nav').is(':visible') )//it will return true or false

关于javascript - Jquery - 如果条件为真或假,如何在单击后滚动元素 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22530836/

相关文章:

javascript - 使 Twitter Bootstrap Modal 窗口变大

jquery - Magento Jquery UI 日期选择器

javascript - 将标签和标记对齐在同一垂直线上(Highcharts)

HTML、CSS 粘性页脚(不断增长的内容)

javascript - 使用延迟更改图像

javascript - 在 JSX 中映射循环以在 React 中生成动态表头

javascript - 通过浏览器获取操作系统中登录用户的用户名

jquery - css 文件中 Heroku Rails 4 Assets 管道的路径

javascript - Jquery 插件在我按下按钮后工作

javascript - 使用 AJAX 刷新另一个 div 后将焦点设置在文本字段上