我正在创建一个个人网站,页面分为2.如果单击左侧,左侧部分向右扩展,反之亦然。
点击动作后,一个按钮可以重置整个事情。它在这个JSFiddle中很有用:http://jsfiddle.net/davidThomas/CFNUJ/1/
但我无法复制它(http://guillaumeb.com/jsfiddle/split.html)
“全部显示”按钮无效...
另外我注意到更新版本的JQuery打破了整个事情所以我使用v 1.x,就像在原始示例中一样。
我的JS技能非常有限。任何帮助表示赞赏
以下是原始代码:
$('#left-bg, #right-bg').click(
function(){
$(this).animate({'width': '100%'},600).siblings().animate({'width':'0'},600);
$('<button class="show">Show all</button>')
.appendTo('#wrapper');
});
$('.show').live('click',
function(){
$('#left-bg').animate(
{
'width': '50%'
},600);
$('#right-bg').animate(
{
'width': '50%'
},600);
$(this).remove();
});
#left-bg {
position: absolute;
top: 0;
left: 0;
bottom: 0;
background-color: #000;
color: #fff;
width: 50%;
margin: 0;
}
#right-bg {
position: absolute;
right: 0;
bottom: 0;
top: 0;
background-color: #fff;
color: 000;
width: 50%;
margin: 0;
}
.show {
position: absolute;
bottom: 0;
left: 50%;
margin-left: -2.5em;
width: 5em;
}
<div id="wrapper">
<div id="left-bg">
<p>Left stuff</p>
</div>
<div id="right-bg">
<p>Right stuff</p>
</div>
</div>
<div id="wrapper">
<div id="left-bg">
<p>Left stuff</p>
</div>
<div id="right-bg">
<p>Right stuff</p>
</div>
</div>
答案 0 :(得分:1)
JQuery
库引用按以下方式更新功能:
$(function(){
$('#left-bg, #right-bg').click(
function(){
$(this).animate({'width': '100%'},600).siblings().animate({'width':'0'},600);
$('<button class="show">Show all</button>')
.appendTo('#wrapper');
});
$(document).on('click','.show',
function(){
$('#left-bg').animate(
{
'width': '50%'
},600);
$('#right-bg').animate(
{
'width': '50%'
},600);
$(this).remove();
});
});
答案 1 :(得分:1)
试试这个可能有效 $(&#39; .show&#39)。在(&#39;单击&#39;,函数(){
或
$(文件)。在(&#39;单击&#39;&#39; .show&#39;,函数(){
因为jQuery .live()已在1.9版本中删除。
.on()方法将事件处理程序附加到jQuery对象中当前选定的元素集。从jQuery 1.7开始,.on()方法提供了附加事件处理程序所需的所有功能。有关从旧的jQuery事件方法转换的帮助,请参阅.bind(),. delegate()和.live()。要删除与.on()绑定的事件,请参阅.off()。要附加仅运行一次然后自行删除的事件,请参阅.one()
答案 2 :(得分:0)
非常感谢回到我身边,感谢你的帮助。
最后我决定在CSS中执行此操作,只需单击即可通过一个非常小的JS来欺骗操作。 我借用了这里的代码
https://codepen.io/thetallweeks/pen/boinE
<div class="box transform">
</div>
<input type="button" id="button" value="Click Me"></input>
================
.box {
background-color: #218D9B;
height: 100px;
width: 100px;
}
.transform {
-webkit-transition: all 2s ease;
-moz-transition: all 2s ease;
-o-transition: all 2s ease;
-ms-transition: all 2s ease;
transition: all 2s ease;
}
.transform-active {
background-color: #45CEE0;
height: 200px;
width: 200px;
}
================
$("#button").click(function() {
$('.transform').toggleClass('transform-active');
});