使用jQuery切换卡片位置
Toggle card position using jQuery
我想为我编的角色建立一个bios网站。每个简历都在一张标有.container
类的"卡片"上。当页面加载时,所有的卡片都在屏幕的左侧,并出现一个对话框,告诉用户点击一张卡片"激活"它。"将它移动到屏幕的右侧以供阅读。"
我已经成功地对页面进行了编码,这样当单击时,适当的卡片移动到屏幕的右侧。我还成功地编写了代码,因此双单击将卡片返回到屏幕左侧的位置。我的问题是那不是我想要的。我想要一个单一的点击激活一个未激活/停用的卡,我想要一个单一的点击停用一个活动。
正如我所说,当两个操作(激活和取消激活)在它们自己的事件处理程序中时,代码运行良好,但是当它们在同一个事件处理程序中时,我无法让它们运行。我不明白为什么。
HTML:<html>
<head>
<title>My Characters</title>
<link rel="stylesheet" type="text/css" href="data'My Characters.css"/>
<script src="data/jQuery.js"></script>
</head>
<body>
<header>
<h1>My Characters</h1>
<h2>All the different characters I've created over the years, many of whom have superpowers based on animals.</h2>
</header>
<article id="background">
<section id="main">
<section class="container" id="Vacuum">
<h3>The Vacuum</h3>
<p>
Born the child of an inventor, the Vacuum's father made it big when he perfected a hand-held design for the L-RAD sonic beam weapon. Licensing his design to the military netted the Vacuum's immediate family 8.5B USD.
</p>
<p>
As a result, from a young age, the Vacuum learned martial arts, developing a unique system devoid of blocks and strikes, relying instead on locks, flips, and holds.
</p>
<p>
A secondary effect of his contact with military personnel is that the Vacuum was genetically altered in such a way that he can now control air, i.e. <i>aerokinesis</i>. Due to the extent of his powers , he has steel braces around his wrists, limiting his powers. he wears a comfortable sweat-suit with a custom mask that has a built-in night-vision visor.
</p>
</section>
<section class="container" id="Mu">
<h3>Mu</h3>
<p>
Mu is a lifelong crime-fighter, staring with his fifteen-year military career. After ending his enlistment as a general, he spent twenty-five years as an undercover police officer, and another ten years behind a desk at the FBI.
</p>
<p>
During his time with the military, he was experimented on by a secret Government department, genetically altering Mu in such a way as to allow him to control friction.
<br />
The purpose of the experiment was to enable Mu to chase down and capture the previous genetic experiments: civilian and military prisoners recruited by a mole hoping to overthrow the US Government from within.
</p>
</section>
<section class="container" id="Elasmobranchii">
<h3>Elasmobranchii</h3>
<p>
A former Navy SEAL recruited by the mole to act as a field leader for the traitorous plot. Elasmobranchii joined "the cause" after his unit was denied benefits following a disastrous mission.
The mission was an utter failure due to a clerical error, resulting in a cover-up. The cover-up was successful due to both a smear campaign and a few choice assassinations directed at the SEALs involved.
</p>
<p>
Elasmobranchii is named for the subclass containing sharks, skates, and rays. In accordance with this name, Elasmobranchii has superhuman senses of smell, touch, and hearing; as well as superhuman strength and speed. His greatest sense, however, is his electroreceptive sense: he can detect a one-volt battery from 1,000 miles away.
<br />
As if all this weren't enough, he also has a long, venomous, barbed tail he can use as an additional weapon or to pick up small objects.
</p>
</section>
<section class="container" id="Phyllobates">
<h3>Phyllobates</h3>
<p>
Phyllobates was a promising boxer that spent his nights doing "favors" for the mob. After several years in prison, he was recruited by a Government mole to participate in a genetic testing program. The result of this testing was that Phyllobates could punch in 15/100ths of a second, exude any poison ingested through his pores, and leap about sixty feet up or over. He also has the ability to climb walls.
</p>
</section>
</section>
</article>
<script src="data/My Characters.js"></script>
</body>
</html>
CSS: *
{
position: static;
}
body
{
background-image: url('Scorched Asphalt.png');
background-size: cover;
margin: 0;
padding: 0;
}
header
{
width: 100%;
text-align: center;
background-color: rgba(238, 238, 238, 1);
border: 2px solid black;
margin: 0;
padding: 0;
}
h1
{
margin-top: 0;
margin-bottom: 0;
font-weight: bold;
}
h2
{
margin-top: 0;
font-size: large;
}
hr
{
color: black;
border: 1px double black;
border-style: double;
width: 75%;
margin: 0;
}
#main
{
width: 100%;
margin-top: 0;
margin-right: auto;
margin-left: auto;
padding-right: 1em;
padding-left: 1em;
line-height: 1em;
}
h3
{
padding: 0;
margin: 0;
}
#Vacuum
{
left: 50px;
top: 80px;
border: 2px solid white;
background-color: rgba(0, 0, 0, 1);
color: white;
}
#Mu
{
left: 75px;
top: 125px;
background-color: rgba(125, 100, 50, 1);
}
#Elasmobranchii
{
left: 100px;
top: 165px;
background-color: rgba(50, 100, 125, 1);
}
#Phyllobates
{
left: 125px;
top: 205px;
background-color: rgba(255, 255, 255, 1);
}
.container
{
width: 33%;
height: 67%;
border: solid black 2px;
margin: 0;
padding: 1em;
border-radius: .5em;
font-weight: bold;
position: absolute;
}
.active
{
left: 33%;
top: 380px;
}
jQuery/Javascript: $(window).load(function(){
//Inform the user on how the site works
alert(''nClick a card to make it active.'nClick it again to de-activate it.');
$('.container').click(function()
{
if($(this).css('left') == '50px'||'75px'||'100px'||'125px')
{
//Restore #Vacuum to its original position
$('#Vacuum').css('left', '50px');
$('#Vacuum').css('top', '80px');
$('#Vacuum').css('z-index', '1');
//Restore #Mu to its original position
$('#Mu').css('left', '75px');
$('#Mu').css('top', '125px');
$('#Mu').css('z-index', '2');
//Restore #Elasmobranchii to its original position
$('#Elasmobranchii').css('left', '100px');
$('#Elasmobranchii').css('top', '165px');
$('#Elasmobranchii').css('z-index', '3');
//Restore #Phyllobates to its original position
$('#Phyllobates').css('left', '125px');
$('#Phyllobates').css('top', '205px');
$('#Phyllobates').css('z-index', '4');
//Make the clicked '.container' the active one
$(this).css('top', '15%');
$(this).css('left', '50%');
$(this).css('z-index', '5');
$(this).addClass('active');
}//End of IF condition
else
{
//Restore #Vacuum to its original position
$('#Vacuum').css('left', '50px');
$('#Vacuum').css('top', '80px');
$('#Vacuum').css('z-index', '1');
//Restore #Mu to its original position
$('#Mu').css('left', '75px');
$('#Mu').css('top', '125px');
$('#Mu').css('z-index', '2');
//Restore #Elasmobranchii to its original position
$('#Elasmobranchii').css('left', '100px');
$('#Elasmobranchii').css('top', '165px');
$('#Elasmobranchii').css('z-index', '3');
//Restore #Phyllobates to its original position
$('#Phyllobates').css('left', '125px');
$('#Phyllobates').css('top', '205px');
$('#Phyllobates').css('z-index', '4');
//De-activate the clicked '.container'
$(this).removeClass('active');
}
})//End of container.click
});//End of document
你好,你的方法有很多问题
这是一个工作的jsfiddle: http://jsfiddle.net/TpxNa/1/
1)你不能使用addclass来调整你的jquery样式,因为你已经用jquery设置了内联样式,内联将优先。
2)你必须使用$(document)。("点击"……而不是。click(function()…因为我们需要动态更改jquery的目标。
css添加一个不活动的类
.inactive {
}
Html 添加非活动的容器如下
<section class="container inactive" id="Phyllobates">
jquery $(document).ready(function () {
alert('Click a card to make it active.Click it again to de-activate it.');
$(document).on('click', '.inactive', function () {
$('#Vacuum').css({ 'left': '50px', 'top': '80px', 'z-index': '1' });
$('#Mu').css({ 'left': '75px', 'top': '125px', 'z-index': '2' });
$('#Elasmobranchii').css({ 'left': '100px', 'top': '165px', 'z-index': '3' });
$('#Phyllobates').css({ 'left': '125px', 'top': '205px', 'z-index': '4' });
$(this).css({ 'top': '15%', 'left': '50%', 'z-index': '5' });
$(this).addClass('active');
$(this).removeClass('inactive');
});
$(document).on('click', '.active', function () {
$('#Vacuum').css({ 'left': '50px', 'top': '80px', 'z-index': '1' });
$('#Mu').css({ 'left': '75px','top': '125px', 'z-index': '2' });
$('#Elasmobranchii').css({ 'left': '100px', 'top': '165px', 'z-index': '3' });
$('#Phyllobates').css({ 'left': '125px', 'top': '205px', 'z-index': '4' });
$(this).removeClass('active');
$(this).addClass('inactive');
});
});
相关文章:
- jquery试图按名称获取按钮位置
- jQuery循环在特定位置暂停
- 使用jQuery更改元素的顶部位置
- jquery:将动画绑定到滚动条位置的更好方法
- JQuery幻灯片,可点击编号位置
- jQuery-仅更改Y轴的CSS背景位置
- Jquery Draggable-在浏览器刷新时保持位置
- 防止用户在jQuery Mobile中ajax加载页面时单击其他位置
- 我可以't使用jQuery更改工具提示引导程序的位置
- 我想滚动放大和缩小一个图像,但也有针在该图像上保持正确的位置.jQuery
- 获取元素内文本的初始和最终位置?- jQuery.
- 返回上一个滚动位置 - jquery移动页面设计
- 固定位置Jquery上的Easing
- 鼠标释放时抓取元素的位置jQuery可拖动
- 当单击按钮时,转到html页面的下一个位置- jquery
- 相对于当前位置 Jquery 滚动
- 位置jQuery对话框
- 设置窗口的位置/jquery
- 将同一字段的错误消息放在不同的位置 jquery 中
- 的位置.jquery事件中没有重定向