在选项卡之间切换而不重新加载图像
switch between tabs without reloading image
我对JQ/JS函数还是个新手,正在自己尝试。。。所以我在这里的问题是,例如:点击名为"Tab1"的选项卡,然后打开一个图像。之后,如果我再次点击同一个选项卡,图像会向后滑动,这很好。但我想,由于选项卡"Tab1"已经打开,下面加载了图像,我会立即打开"Tab2",当我打开时,我会在"Tab2"内容下加载图像,而不会向后滑动或任何东西,只是看起来像我第一次点击该选项卡,所有"动画"都会平滑缓慢滚动到底部。
JSFIDDLEjsfiddle中的jq函数示例。(三分之一)
$(document).ready(function(){
$('#inside1').click(function() {
$("#panel").css('background-image', 'url(http://upload.wikimedia.org/wikipedia/commons/1/1f/Nsr-slika-015.png)');
});
});
ps:由于某种原因,jsfiddle不会按照我的意愿加载它,但你仍然可以看到这个问题。
尝试
jQuery(function ($) {
var $panel = $("#panel");
var $tabs = $('.tab').click(function () {
var $this = $(this),
isActive = $this.hasClass('active');
if ($panel.is(':visible') && !isActive) {
$panel.css('background-image', 'url(' + $this.data('background') + ')');
$tabs.removeClass('active');
$this.addClass('active');
} else {
if (!isActive) {
$panel.css('background-image', 'url(' + $this.data('background') + ')');
}
$panel.slideToggle();
$this.toggleClass('active');
}
});
})
演示:Fiddle
我会这样做:
$(".tab").click(function () {
var id = $(this).attr("id");
id = id.substr(id.length - 1, 1);
if ($(this).hasClass("open")) {
$("#panel").slideUp();
} else {
$(".tab.open").removeClass("open");
if ($("#panel").is(":hidden")) {
$("#panel").slideDown();
}
$("#panel").removeAttr("class");
$("#panel").addClass("panel" + id);
}
$(this).toggleClass("open");
});
在这里打转
相关文章:
- 创建新数据和加载现有数据需要单独的视图吗
- 钛 - HTTPClient:打开新的控制器加载
- 保持 JavaScript 在浏览器控制台中运行,即使在新的页面加载之后也是如此
- 路由到新页面时加载不起作用
- 如何在新窗口完成加载后执行某些内容
- 使用新标题重新加载 html 页面
- Primefaces在打开新页面时加载数据消息
- Wordpress音频播放器和平滑状态.在新页面重新加载播放器时调用什么回调函数
- 用新数据重新加载renderer3d
- 文本不被渲染后,新的页面加载- JQuery移动
- 需要在新标签中加载pdf/doc文件,而不是下载,只是想在浏览器中阅读
- 用新参数重新加载页面
- Js和CSS不检测新页面何时加载
- 在新页面上加载一个flash视频,它在上一页上的位置
- 在新窗口中加载代码编写器视图
- 在控制台中使用新脚本重新加载页面
- 如何在加载新页面后加载AJAX数据
- 如何使用jQuery在新窗口中加载页面,然后关闭它们
- Jquery没有看到新的HTML加载到对话框中
- 无法用新值重新加载JGrid