- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试修改 Coda-Slider 2.0 (http://www.ndoherty.biz/tag/coda-slider/) 以使用基于百分比的宽度,而不是硬编码的像素宽度,以允许流体调整大小。我已经让它工作得非常好,除了 IE7 中的一个小故障(Firefox 没有表现出这种行为),当我尝试返回面板 1 时。
当我运行coda-slider 2.0附带的默认index.html时,在IE7中一切正常。然后我使用图像而不是默认文本,效果也很好。然后我更改了 CSS 和 JS 以使用百分比宽度 - 这非常有效,除了当我尝试返回到第一个面板时 - 当我这样做时,比如说,从面板 4,而不是平滑地动画回到面板 1 View 立即跳转到面板 1 和面板 2 之间的中间,然后动画回到面板 1。
这可以在我设置的测试站点上看到:
http://www.lootcorp.com/animateissue/
我正在使用的修改后的 Coda-Slider JS 文件的来源如下。请注意,我删除了所有非必要的代码以简化调试。
问题与以下行有关:
offset = - (panelWidth*z) + "%";
我想动画可能不喜欢输入“0%”作为值,所以我尝试在选择面板 1 时输入“0”和“0px” - 结果相同。最终结果是正确的 - 最终 div 正确定位在 margin-left: 0 处,但我不知道为什么它在这样做之前跳到面板 1 和面板 2 之间的中间位置。 (从面板 4 到面板 3 或面板 2 的动画效果很好)。我尝试使用“left”而不是“margin-left”,得到了相同的结果。
错误还是愚蠢的、被忽视的错误?非常感谢任何建议!!
js文件来源:
$(function(){
// Remove the coda-slider-no-js class from the body
$("body").removeClass("coda-slider-no-js");
// Preloader
$(".coda-slider").children('.panel').hide().end().prepend('<p class="loading">Loading...<br /><img src="images/ajax-loader.gif" alt="loading..." /></p>');
});
var sliderCount = 1;
$.fn.codaSlider = function(settings) {
settings = $.extend({
autoHeight: true,
autoHeightEaseDuration: 1000,
autoHeightEaseFunction: "easeInOutExpo",
autoSlide: false,
autoSlideInterval: 7000,
autoSlideStopWhenClicked: true,
crossLinking: true,
dynamicArrows: true,
dynamicArrowLeftText: "« left",
dynamicArrowRightText: "right »",
dynamicTabs: true,
dynamicTabsAlign: "center",
dynamicTabsPosition: "top",
externalTriggerSelector: "a.xtrig",
firstPanelToLoad: 1,
panelTitleSelector: "h2.title",
slideEaseDuration: 1000,
slideEaseFunction: "easeInOutExpo"
}, settings);
return this.each(function(){
var slider = $(this);
var panelCount = slider.find(".panel").size();
var panelWidth = 100;
var panelContainerWidth = "400%";
var navClicks = 0; // Used if autoSlideStopWhenClicked = true
// Surround the collection of panel divs with a container div (wide enough for all panels to be lined up end-to-end)
$('.panel', slider).wrapAll('<div class="panel-container"></div>');
// Specify the width of the container div (wide enough for all panels to be lined up end-to-end)
$(".panel-container", slider).css({ width: panelContainerWidth });
// Specify the current panel.
// If the loaded URL has a hash (cross-linking), we're going to use that hash to give the slider a specific starting position...
if (settings.crossLinking && location.hash && parseInt(location.hash.slice(1)) <= panelCount) {
var currentPanel = parseInt(location.hash.slice(1));
var offset = - (panelWidth*(currentPanel - 1)) + "%";
$('.panel-container', slider).css({ marginLeft: offset });
// If that's not the case, check to see if we're supposed to load a panel other than Panel 1 initially...
} else if (settings.firstPanelToLoad != 1 && settings.firstPanelToLoad <= panelCount) {
var currentPanel = settings.firstPanelToLoad;
var offset = - (panelWidth*(currentPanel - 1)) + "%";
$('.panel-container', slider).css({ marginLeft: offset });
// Otherwise, we'll just set the current panel to 1...
} else {
var currentPanel = 1;
};
// If we need a dynamic menu
if (settings.dynamicTabs) {
var dynamicTabs = '<div class="coda-nav" id="coda-nav-' + sliderCount + '"><ul></ul></div>';
switch (settings.dynamicTabsPosition) {
case "bottom":
slider.parent().append(dynamicTabs);
break;
default:
slider.parent().prepend(dynamicTabs);
break;
};
ul = $('#coda-nav-' + sliderCount + ' ul');
// Create the nav items
$('.panel', slider).each(function(n) {
ul.append('<li class="tab' + (n+1) + '"><a href="#' + (n+1) + '">' + $(this).find(settings.panelTitleSelector).text() + '</a></li>');
});
navContainerWidth = slider.width() + slider.siblings('.coda-nav-left').width() + slider.siblings('.coda-nav-right').width();
ul.parent().css({ width: navContainerWidth });
switch (settings.dynamicTabsAlign) {
case "center":
ul.css({ width: ($("li", ul).width() + 2) * panelCount });
break;
case "right":
ul.css({ float: 'right' });
break;
};
};
// If we need a tabbed nav
$('#coda-nav-' + sliderCount + ' a').each(function(z) {
// What happens when a nav link is clicked
$(this).bind("click", function() {
navClicks++;
$(this).addClass('current').parents('ul').find('a').not($(this)).removeClass('current');
if (z == 0) {
offset = "+0px";
} else {
offset = - (panelWidth*z) + "%";
}
alert("Offset = " + offset);
// alterPanelHeight(z);
currentPanel = z + 1;
$('.panel-container', slider).animate({ marginLeft: offset }, settings.slideEaseDuration, settings.slideEaseFunction);
if (!settings.crossLinking) { return false }; // Don't change the URL hash unless cross-linking is specified
});
});
// Specify which tab is initially set to "current". Depends on if the loaded URL had a hash or not (cross-linking).
if (settings.crossLinking && location.hash && parseInt(location.hash.slice(1)) <= panelCount) {
$("#coda-nav-" + sliderCount + " a:eq(" + (location.hash.slice(1) - 1) + ")").addClass("current");
// If there's no cross-linking, check to see if we're supposed to load a panel other than Panel 1 initially...
} else if (settings.firstPanelToLoad != 1 && settings.firstPanelToLoad <= panelCount) {
$("#coda-nav-" + sliderCount + " a:eq(" + (settings.firstPanelToLoad - 1) + ")").addClass("current");
// Otherwise we must be loading Panel 1, so make the first tab the current one.
} else {
$("#coda-nav-" + sliderCount + " a:eq(0)").addClass("current");
};
// Kill the preloader
$('.panel', slider).show().end().find("p.loading").remove();
slider.removeClass("preload");
sliderCount++;
});
};
最佳答案
您有什么理由使用 2 年前的 jQuery 1.3.2 吗?对于一个成立还不到 5 年的库来说,这已经是很多了。
您使用当前稳定版本的 jQuery(1.5.1)是否遇到同样的问题?
您确定IE使用标准模式和最新的渲染引擎来渲染您的页面吗?
使用此元标记:
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
看看使用最新稳定版本的 jQuery 是否有同样的问题。自 1.3 版本以来已经发生了很大变化。
关于jquery - IE7 和 jquery 动画 : using jquery 1. 3.2、coda-slider 2.0 和 jquery.easing 1.3 的奇怪问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5266201/
我在 Mac OSX 上使用 Coda IDE。 在 Eclipse 中有一个名为“跳转到匹配括号”的功能(由 Command+Shift+P 调用)。 Coda 中是否有任何等价物或插件? 最佳答案
尽管评论不佳,我还是决定在 Coda 2 上大肆挥霍。但我似乎找不到一个功能 - 现有代码的代码格式。 在 Sublimetext 2 中,您可以突出显示一段代码,并通过几次击键,使其自动格式化/缩进
我在 coda 1.7.4 中的站点设置与在 coda 2 中的站点设置完全相同,但是当我单击 coda 2 中的发布箭头时,它告诉我“在站点中设置本地和远程路径以发布您的更改”。 我已经这样做了,但
CODA specification指的是字母数字,但我找不到定义的允许字符集在哪里。 检查由可靠的比利时银行发出的样本 CODA 文件,我可以看到字母、数字、括号、破折号、点、冒号、斜线、空格 还有
当我使用 Tidy HTML in Coda它很干净,但我不喜欢空行 … … 我尝试编辑配置但没有成功 // config file for Coda PHP Toolkit T
我正在使用 Coda 进行网络开发。我经常在 ~/Sites 文件夹中创建新网站。我总是在 Coda 中输入相同的信息,除了站点名称及其存储目录之外。是否可以创建一个插件(在 Cocoa 或 Shel
我正在尝试搜索并替换 400 多个 HTML 页面中的链接。我几乎需要改变: 搜索:域名[dot]org/learning/bridge.php?sl=70代替:替换:seconddomainname
我正在尝试在 my website 上实现响应式设计我在特色内容 slider 上有点卡住了。 我正在使用Coda Slider对于我的特色内容幻灯片,对于小屏幕宽度,我希望中止 slider 的 j
非常简单的问题,我知道这只是 if/else if 语句的问题,但我无法让它们正确运行。 我正在使用 http://jqueryfordesigners.com/coda-slider-effect/
有没有办法直接在 Coda 中集成类似 PythonTidy 的功能? 最佳答案 截至 2012 年 10 月,这个问题的答案是“否”。 关于Coda 中的 PythonTidy 集成?,我们在Sta
我在我的网站上使用 Niall Doherty 的 Coda Slider,但我无法弄清楚为什么某些浏览器(如 Firefox Mac/Windows 和 IE for Windows)将页面底部的缩
有谁知道 Coda 是否有一个插件可以显示 Div 的开始和结束位置?我相信 TextMate 有这个功能...... 解决方法:为 Coda 插件安装 TEA 然后做:Coda 的 TEA > 选择
我一直在为我当前的元素使用 Kevin Batdorf (http://www.ndoherty.biz/coda-slider) 的 jQuery Coda-Slider v2.0。 现在我想在同一
我目前正在研究,试图复制 Coda 的工具提示: http://jqueryfordesigners.com/coda-popup-bubbles/ 在这里查看我的示例:http://jsfiddle
这是现有的第三方 Coda 兼容语法模式的列表 http://www.codingmonkeys.de/subethaedit/modes.html 有没有人偶然发现了 Coda 2 的 Go 语法模
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
任何人都知道我可以在哪里获得 Haml/Sass for Coda 的语法高亮显示? 最佳答案 刚刚浮出水面:) https://github.com/secca/Coda-Sass-Plug-in
你知道 Coda 是否有一个插件可以为 jquery 完成下面的代码补全吗?据我所知,Visual Studio 有这样的扩展,希望在 Coda 中也有办法做到这一点,因为我不想编写 jQuery(d
我在从命令行访问 Coda 时遇到问题。我安装了“命令行 coda”插件,验证了我的安装位置正确,但我似乎仍然可以访问 Coda。 Coda 位于我的“Applications”文件夹中,这是插件的默
我想知道 Coda 2 中是否有一种方法可以在行时显示开始/结束标记? 例如,如果我在包含 的行上 有没有办法让 Coda 突出显示哪个是 ? 谢谢 最佳答案 这是最新版本https://github
我是一名优秀的程序员,十分优秀!