Pau*_*aul 18 html css jquery show hide
我有代码为节目工作并隐藏div.当show和hide处于活动状态时,如何将两个不同的图标添加为精灵图像?
例如:+图标用于显示我,然后用-图标用于隐藏我.
这是代码,我有:http: //jsfiddle.net/BLkpG/
$(document).ready(function(){
$(".slidingDiv").hide();
$(".show_hide").show();
$('.show_hide').click(function(){
$(".slidingDiv").slideToggle();
});
});
Run Code Online (Sandbox Code Playgroud)
切换到+或-时需要将图像更改为上面的内容.
谢谢
Env*_*nve 21
尝试这样的事情
jQuery的
$('#toggle_icon').toggle(function() {
$('#toggle_icon').text('-');
$('#toggle_text').slideToggle();
}, function() {
$('#toggle_icon').text('+');
$('#toggle_text').slideToggle();
});
Run Code Online (Sandbox Code Playgroud)
HTML
<a href="#" id="toggle_icon">+</a>
<div id="toggle_text" style="display: none">
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s
</div>
Run Code Online (Sandbox Code Playgroud)
CSS
$('#toggle_icon').toggle(function() {
$('#toggle_icon').text('-');
$('#toggle_text').slideToggle();
}, function() {
$('#toggle_icon').text('+');
$('#toggle_text').slideToggle();
});
Run Code Online (Sandbox Code Playgroud)
Vyt*_*kus 10
我会说最优雅的方式是:
<div class="toggle"></div>
<div class="content">...</div>
Run Code Online (Sandbox Code Playgroud)
那么css:
.toggle{
display:inline-block;
height:48px;
width:48px; background:url("http://icons.iconarchive.com/icons/pixelmixer/basic/48/plus-icon.png");
}
.toggle.expanded{
background:url("http://cdn2.iconfinder.com/data/icons/onebit/PNG/onebit_32.png");
}
Run Code Online (Sandbox Code Playgroud)
和js:
$(document).ready(function(){
var $content = $(".content").hide();
$(".toggle").on("click", function(e){
$(this).toggleClass("expanded");
$content.slideToggle();
});
});
Run Code Online (Sandbox Code Playgroud)
切换文本Show并Hide移动backgroundPosition Y轴
$(function(){ // DOM READY shorthand
$(".slidingDiv").hide();
$('.show_hide').click(function( e ){
// e.preventDefault(); // If you use anchors
var SH = this.SH^=1; // "Simple toggler"
$(this).text(SH?'Hide':'Show')
.css({backgroundPosition:'0 '+ (SH?-18:0) +'px'})
.next(".slidingDiv").slideToggle();
});
});
Run Code Online (Sandbox Code Playgroud)
CSS:
.show_hide{
background:url(plusminus.png) no-repeat;
padding-left:20px;
}
Run Code Online (Sandbox Code Playgroud)
这是 Enve 答案的快速编辑。我确实喜欢 roXor 的解决方案,但背景图像不是必需的。preventDefault每个人似乎也忘记了。
$(document).ready(function() {
$(".slidingDiv").hide();
$('.show_hide').click(function(e) {
$(".slidingDiv").slideToggle("fast");
var val = $(this).text() == "-" ? "+" : "-";
$(this).hide().text(val).fadeIn("fast");
e.preventDefault();
});
});Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" class="show_hide">+</a>
<div class="slidingDiv">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum. Praesent mauris. Fusce nec tellus sed augue semper porta.
Mauris massa. Vestibulum lacinia arcu eget nulla. </p>
<p>Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Curabitur sodales ligula in libero. Sed dignissim lacinia nunc. Curabitur tortor. Pellentesque nibh. Aenean quam. In scelerisque sem at dolor. Maecenas mattis.
Sed convallis tristique sem. Proin ut ligula vel nunc egestas porttitor. Morbi lectus risus, iaculis vel, suscipit quis, luctus non, massa. Fusce ac turpis quis ligula lacinia aliquet. Mauris ipsum. </p>
</div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
180716 次 |
| 最近记录: |