如何将元素放在不同的地方(响应)

时间:2014-09-04 04:10:35

标签: javascript jquery css responsive-design

我正在尝试创建一个响应式搜索栏,它将放置在桌面和移动设备上的不同位置。 我使用不同的ID构建了两个不同的搜索栏,display: nonedisplay: block以及相同的jQuery代码。

我有一个问题: - 如果我点击搜索图标以外的其他部分,搜索输入不再关闭。使用一个搜索栏,当我点击任何地方时,输入会自动关闭。

使用一个搜索栏:codepen.io/anon/pen/Adgpf

有两个搜索栏:codepen.io/anon/pen/ceHmn

3 个答案:

答案 0 :(得分:1)

你要触发这个事件两次,它会反转isOpen ..然后在第二次点击时反转它:

submitIcon.click();

所以只需触发其中一个就可以避免双重反转:

submitIcon.eq(0).click();

并且有效

演示:http://codepen.io/anon/pen/baekD

这是最简单的解决方案。您的代码可以使用一些重构。

答案 1 :(得分:0)

试试这个:

$(document).click(function(){
  if(!$('#sb-search').click()) {
    searchBox.removeClass('sb-search-open');
    isOpen = false;
  }
});

您可能需要根据自己的总体目的进行调整,但它可以解决您的问题here

答案 2 :(得分:0)

我已经创建了相同的jsfiddle,检查它,它可以帮助你..

Demo : http://jsfiddle.net/patelbharat001/w0jzzbuy/