- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下 HTML 表单:-
<form id="subform">
<p>
<input type="button" id="btn" value="Go!"/>
</p>
<p>
<select id="optlist">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</select>
</p>
</form>
以及以下 jQuery 片段:-
$("#btn").click(function () {
// if address select list is visible slide it up and then slide down new <p> tag
if ($('#optlist').is(":visible")) {
$('form > p:nth-child(2)').slideUp('slow', function () {
$('<p id="noresults">No results found</p>').insertAfter('form > p:nth-child(2)').hide().slideDown("slow");
});
}
// else if select list is not visible just slide down the new <p> tag
else {
$('<p id="noresults">No results found</p>').insertAfter('form > p:nth-child(2)').hide().slideDown("slow");
}
});
我想做的是,如果#optlist
当前可见slideUp()
然后slideDown()
一个新的<p>
标签,否则只是 slideDown()
一个新的<p>
标签(如果 #optlist
当前隐藏)。
这在上面工作得很好,尽管它有点笨拙,例如我必须重复插入新的 <p>
在 if
中和 else
声明。
除此之外,还有一个小错误,如果#noresults <p>
标签已经存在,它当前将添加另一个标签,我怎样才能让它闪烁当前的 #noresults
如果它已经存在?
我可以使用 if ( $("#noresults").length ) {};
检查它是否存在但我还需要重复这一点(在 if
和 else
中)。
我可以检查和创建新的 <p>
在一个函数中并调用它。
是否有更好的方法来构建当前代码?
fiddle here
最佳答案
似乎因为所需的行为始终是隐藏 #optlist 并显示 #noresults div。你可以做这样的事情:
HTML:
<form id="subform">
<p>
<input type="button" id="btn" value="Go!"/>
</p>
<p id="optlist_container">
<select id="optlist">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</select>
</p>
<p id="noresults" style="display: none;">No results found</p>
</form>
对于 jQuery:
$('#btn').click(function() {
$('#optlist_container').slideUp('slow', function() {
$('#noresults').slideDown('slow');
});
});
如果你总是要隐藏#optlist,我认为没有任何理由检查它的可见性。您可以轻松地从一开始就放置#noresults 元素,这样您就没有理由继续附加它。
关于jQuery SlideUp 元素 A 如果可见,则 SlideDown 元素 B,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15436706/
A 使用 jquery 设计了一个两级菜单。当我将鼠标悬停在顶部菜单链接时,submenu 类名的 DIV 会向下滑动。当我将鼠标悬停在该 div 内时,会出现一个链接,类名为 subsubmenu
我正在为 Android 手机构建 PhoneGap 应用程序。我使用这样的机制让用户将数据提交到 Web 服务: $('#backdrop').slideDown('fast',function()
我有一个 div#items,如果单击它,则 div#choices slipDown()。如果再次单击,则 div#choices 应该 slipUp();我如何测试选择是否已经下降或上升?我知道我
我是 jquery 新手,我正在尝试在下拉菜单上使用 .slidedown 函数。我希望菜单在单击时打开,并在再次单击选项或菜单时关闭。然而,当按原样单击菜单时,它只是弹开和关闭,而不是保持打开状态。
如何在 css 设置为 display:none 的页面加载时使用 jquery 向下滑动 div?我看到了很多解决方案,但如果 css 设置为 display:none,则没有一个可以滑动 div。
为什么slideDown()第一次不起作用? $('#lnkInfo').click(function (e) { e.preventDefault(); $(this).blur()
我遇到了同样的问题,尽管我找不到解决方案,但我在网上读到了相关内容。 简单地说,当在我的 DIV 元素上使用 SlideDown() 方法时,我得到了丑陋的回弹效果,其中 jQuery 将 DIV 大
我在我的这个网站上使用 JQuery SlideUp 和 SlideDown。 http://ourrecipes.mdssoftware.com.au/ 在 IE 中这工作得很好。但在 Chrome
我的网站上有一个 SlideDown 功能。但不知怎的,当你第一次点击它时它不起作用。所以我需要点击两次才能使该功能起作用。什么可能是错误的? 我还希望当我再次点击按钮时div向上滑动,不知道我将如何
这应该很容易,但我检查了谷歌并没有找到任何相关信息。 我正在做: $notification.slideDown(1000, function(){ $('#n
为什么这个 jQuery 代码不起作用? $(document).ready(function () { $('currentPage').click(function() {
我们什么时候应该使用 jQuery 中的 slideUp/slideDown 以及什么时候使用 slideToggle 函数?slidetoggle 在 IE 中工作是否有问题? 最佳答案 当您想要向
我正在使用 jquery 制作一个向下滑动的菜单。该代码在页面第一次加载时完美运行。但是,slideDown(单击功能的基本部分)对于每个菜单项只能运行一次。这是一个 js fiddle 示例 htt
大家好。我有一点问题。我有一个有序列表,其中包含一系列预先填充的列表项。 Item 1 Item 2 Item 3 Item 4 当我使用 jQuery 动态添加另
我希望有人能帮助我正确完成这项工作。 我有这个 HTML: 1 view modules
我想知道是否有任何方法可以使 SlideDown() 移动看起来更平滑,而无需使用 jQuery UI,只需使用普通的 jquery。 我有这个功能: function optionz(){
我正在尝试构建一个具有动态高度和数量的元素列表,当用户单击它们时,这些元素会上下滑动。问题是,当时只需要显示其中一个,而其他的则在点击后会自动向上滑动。 我遇到了位于正在滑下的元素下方的元素的问题。它
我在 profile.php 中有一个可用的 slideDown div。当我单击用户名时,个人资料信息会向下滑动。这是结构, profile.php - 这工作正常。 $('.showprofile
我目前正在创建一个简单的菜单,其中有多个服务名称,用户可以单击其中一个,jQuery 将在其下方显示相应的描述段落。我的 jQuery 代码很好,完全符合我的要求,但是,我有一个错误尚未解决。 每当我
因此,当与 jQuery slideDown 函数结合使用时,我的渐变会出现令人讨厌的样式现象。 我怀疑正在发生的事情是我在每个页面上都运行了一个全局渐变。在一页上我使用以下内容: function
我是一名优秀的程序员,十分优秀!