我正在使用jQuery来显示或隐藏跨度。但我希望<div>
出现在与我点击的链接相同的位置。当前代码实际显示屏幕左侧的<div>
标记。这是我正在使用的代码。
<script>
$(document).ready(function(){
$(".slidingDiv").hide();
$(".show_hide").show();
$('.show_hide').click(function(){
$(".slidingDiv").slideToggle();
return false;
});
$(".slidingDiv1").hide();
$(".show_hide1").show();
$('.show_hide1').click(function(){
$(".slidingDiv1").slideToggle();
return false;
});
});
</script>
跨度标签:
<span>
<a href="#" class="show_hide">Japan</a>
<span class="slidingDiv">
<img src="02-1 ImageFiles/01 Japan.JPG" style="width:235px; height:245px;">
<a href="#" class="show_hide">Close</a>
</span>
is made up of islands, regions, prefectures (government districts), cities, and surrounding communities. The main island, Honshu, has thirty-four prefectures making up five regions. The
<a class="show_hide1" href="#">Tōhoku Region</a>
<span class="slidingDiv1">
<img src="02-1 ImageFiles/02 TohokuRegion.JPG" style="width:217px; height:236px;">
<a href="#" class="show_hide1">Close</a>
</span>
答案 0 :(得分:1)
这可以是您的HTML部分:
<a href="#" class="show_hide" style="position: relative;">Japan</a>
<span class="slidingDiv" style="position: absolute; left: 0;">
<img src="02-1 ImageFiles/01 Japan.JPG" style="width: 235px; height: 245px;" />
<a href="#" class="show_hide_close">Close</a>
</span>
is made up of islands, regions, prefectures (government districts), cities, and surrounding communities. The main island, Honshu, has thirty-four prefectures making up five regions. The
<a class="show_hide" href="#" style="position: relative;">TÅhoku Region</a>
<span class="slidingDiv" style="position: absolute; left: 0;">
<img src="02-1 ImageFiles/02 TohokuRegion.JPG" style="width: 217px; height: 236px;" />
<a href="#" class="show_hide_close">Close</a>
</span>
这可以是你的脚本部分:
<script type="text/javascript">
$(document).ready(function () {
$(".slidingDiv").hide();
$(".show_hide").show();
$('.show_hide').click(function () {
var el = $(this);
var slidingDiv = el.find("span.slidingDiv");
if (slidingDiv.length > 0) {
slidingDiv.slideToggle(function () { el.after(slidingDiv); });
}
else {
slidingDiv = el.next("span.slidingDiv");
el.append(slidingDiv);
slidingDiv.slideToggle();
}
return false;
});
$('.show_hide_close').click(function () {
$(this).parent().parent("a.show_hide").click();
return false;
});
});
说明:
脚本会在点击时将范围附加到锚点,并在关闭时将其移回原始位置。 原因是你不能在html代码中的一个锚标记中包装一个块(这里是span),所以我们将在运行时进行。我们应该包装它,因为我们需要在锚标记下方显示范围。
span应具有绝对位置
将被点击的锚点应具有相对位置,以便浏览器可以从父锚点计算跨度的位置,因此它现在将位于链接下方
我概括了锚和span类,因此您只能使用一个脚本块
已为关闭按钮指定了不同的类,因此单击它将单击父锚
答案 1 :(得分:-1)
删除div并将范围设置为 display:block
<a href="#" class="show_hide">Japan</a>
<a href="#" class="show_hide">Close</a>
<span class="slidingDiv">
<img src="02-1 ImageFiles/01 Japan.JPG" style="width:235px; height:245px;" />
</span>
span
{
display: block;
}