Div滚动向下和滚动向上与jquery
Div scroll down and scroll up with jquery
我是jquery新手。我试图得到这个动画:当鼠标移到或单击每个菜单时,每个菜单会分别折叠,当我再次单击时,菜单会再次向上滚动。我写了这段代码,但我不知道为什么它不工作!请帮助。由于
$(document).ready(function() {
$(".lead-title-index").on('click',function() {
if(clicked)
{
clicked=false;
&(".featured-content").slideDown("slow");
}
else
{
clicked=true;
&(".featured-content").slideUp("slow");
}
});
});
.featured-content {
width: 200px;
height: 400px;
display: none;
background: #2E2E2E;
}
.lead-title-index {
background: #FFBF00;
display: block;
margin-bottom: 0px;
position: relative;
color: #000;
font-size: 14px;
width: 200px;
height: 70px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.5/d3.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<div class="col-md-15 col-sm-3">
<div class="lead-title-index">
</div>
<article id="video" class="featured-content">
<div class="promo-text">
</div>
</article>
</div>
<div class="col-md-15 col-sm-3">
<div class="lead-title-index">
</div>
<article id="video" class="featured-content">
<div class="promo-text">
</div>
</article>
</div>
你可以试试:
$(document).ready(function() {
$(".lead-title-index").on('click',function() {
$(".featured-content").slideToggle("slow");
});
});
.featured-content {
width: 200px;
height: 400px;
display: none;
background: #2E2E2E;
}
.lead-title-index {
background: #FFBF00;
display: block;
margin-bottom: 0px;
position: relative;
color: #000;
font-size: 14px;
width: 200px;
height: 70px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.5/d3.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<div class="col-md-15 col-sm-3">
<div class="lead-title-index">
</div>
<article id="video" class="featured-content">
<div class="promo-text">
</div>
</article>
</div>
<div class="col-md-15 col-sm-3">
<div class="lead-title-index">
</div>
<article id="video" class="featured-content">
<div class="promo-text">
</div>
</article>
</div>
这里有几个错误。
首先:
改变&(".featured-content").slideDown("slow");
&(".featured-content").slideUp("slow");
$(".featured-content").slideDown("slow");
$(".featured-content").slideUp("slow");
由于&
不是一个有效的jquery语法。
第二:
变量clicked
没有定义。全局定义在document.ready
函数之后。
你的最终代码应该看起来像这样:
$(document).ready(function () {
var clicked;
$(".lead-title-index").on('click', function () {
if (clicked) {
clicked = false;
$(".featured-content").slideDown("slow");
} else {
clicked = true;
$(".featured-content").slideUp("slow");
}
});
});
你可以在这里查看工作演示
首先,您不需要clicked
标志。将&
更改为$
(我确信这是一个错误)。您所需要的一切就像下面这样简单。
$(document).ready(function() {
$(".lead-title-index").on('click',function() {
var $featuredContent = $(".featured-content");
$featuredContent.is(":hidden") && $featuredContent.slideDown("slow") || $featuredContent.slideUp("slow");
});
});
.featured-content {
width: 200px;
height: 400px;
display: none;
background: #2E2E2E;
}
.lead-title-index {
cursor: pointer;
background: #FFBF00;
display: block;
margin-bottom: 0px;
position: relative;
color: #000;
font-size: 14px;
width: 200px;
height: 70px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.5/d3.min.js"></script>
<div class="col-md-15 col-sm-3">
<div class="lead-title-index">
</div>
<article id="video" class="featured-content">
<div class="promo-text">
</div>
</article>
</div>
<div class="col-md-15 col-sm-3">
<div class="lead-title-index">
</div>
<article id="video" class="featured-content">
<div class="promo-text">
</div>
</article>
</div>
甚至更好,试试jQuery。slideToggle是slideUp和slideDown的缩写,取决于元素的显示状态。
$(document).ready(function() {
$(".lead-title-index").on('click',function() {
$(".featured-content").slideToggle("slow");
});
});
感谢大家,但我需要的是:第一次,当鼠标悬停在.lead-title-index
上时,.featured-content
会出现。第二次点击.lead-title-index
时,.featured-content
消失
相关文章:
- Image赢得't隐藏在滚动jQuery上
- 无限滚动jquery不起作用
- 如何在水平滚动 Jquery 上实现延迟加载
- 在Firefox中快速滚动jQuery
- 触摸板滚动jQuery的问题
- 无限滚动jquery插件不起作用
- 如何仅在每次单击可滚动(jquery工具)中的导航按钮时加载图像,而不是一次加载所有图像
- 停止页面滚动 jquery
- 自动滚动 Jquery
- 动画滚动jquery不工作
- 导航锚点不'滚动jQuery时不能正确应用活动类
- 平滑滚动jquery插件在刷新时重置滚动起点.有办法解决这个问题吗
- 当用户滚动jquery时,停止ScrollTop功能
- 阻止自动向下滚动Jquery
- 水平滚动jQuery固定导航
- 平滑滚动jquery+修复导航错误
- 使用淡入淡出滚动jQuery效果的2列浮动画廊
- 无限滚动jQuery &Laravel 5分页
- 防止窗口滚动jquery
- 返回页首滚动jquery在chrome中不起作用.为什么?它在firefox中运行良好