- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 jQuery 的 jCarousel 插件,以便为我的网站用户提供可滚动(水平)的内容。
我说的内容基本都是用户自定义<li>
元素,样式使它们具有选项卡的感觉和外观。所以基本上我正在尝试实现与 pageflakes.com 中的选项卡相同的效果。正如您所想象的,用户正在创建选项卡并自行提供选项卡名称。
jCarousel 需要您为内容指定固定宽度,例如,他们所有的示例都基于具有固定高度和宽度的图像。但就我而言,我无法控制用户将如何命名他/她的选项卡...这让我无法猜测整个容器 div 的宽度。
我曾尝试使用一种愚蠢的方法,例如以编程方式猜测宽度,假设每个字母大约为 5 个像素,并将 5 乘以他们作为选项卡名称给出的单词的长度。即使在这种情况下,我也需要动态地操作 css 文件,我不确定该怎么做,即使这样做是可行的..
感谢任何解决方案...
<lu>
<li class='MyTab' id='578'>This is my tab</li>
<li class='MyTab' id='579'>of which I can</li>
<li class='MyTab' id='580'>never guess</li>
<li class='MyTab' id='581'><img src='img/bullet_key.png' /> The length of</li>
</lu>
上面的 html 是通过 ajax_tabs_output.aspx 以编程方式生成的,加载到 javascript 数组中,jCarousel 负责其余的工作。
function outputTabsArray() {
$.ajax({
url: 'ajax_tabs_output.aspx',
type: 'get',
data: 'q=array',
async: false,
success: function(out)
{
tabs_array = out;
}
});
}// end outputTabsArray
function mycarousel_itemLoadCallback(carousel, state)
{
for (var i = carousel.first; i <= carousel.last; i++) {
if (carousel.has(i)) {
continue;
}
if (i > tabs_array.length) {
break;
}
carousel.add(i, mycarousel_getItemHTML(tabs_array[i-1]));
}
};
/**
* Item html creation helper.
*/
function mycarousel_getItemHTML(item)
{
return '<div class="MyTab" id="' + item.tab_id + "'>" + item.tab_name + '</div>';
};
$('#mycarousel').jcarousel({
size: tabs_array.length,
itemLoadCallback: {onBeforeAnimation: mycarousel_itemLoadCallback}
});
最佳答案
最接近您想要的可能是 jscrollhorizontalpane .我从未使用过它,所以我不能保证它作为解决这个特定问题的有效性。
如果您想尝试制作这种小部件应该不难。我将分解我将使用的大致方法:
确保使用大量包装器。
<div class="scrollable">
<div class="window">
<div class="space">
<ul class="tabs">
<li class="tab">...</li>
<li class="tab">...</li>
<li class="tab">...</li>
</ul>
</div>
</div>
<a href="#" class="left">←</a>
<a href="#" class="right">→</a>
</div>
我们要做的是在“window”元素内来回移动“space”元素。这可以通过将 position:relative
设置为 "window"并将 position:absolute
设置为 "space"和然后使用 left:-??px
移动它,但我将使用 scrollLeft
属性。
添加一些 CSS。
.window {
overflow : hidden;
width : 100%;
}
.space {
width : 999em; /* lots of space for tabs */
overflow : hidden; /* clear floats */
}
.tabs {
float : left; /* shrink so we can determine tabs width */
}
.tab {
float : left; /* line tabs up */
}
这只是该技术所需的基本内容。其中一些东西可以由 jQuery 应用,
添加事件以调整窗口大小。
$(window)
.resize(function () {
var sz = $('.window');
var ul = sz.find('ul');
if ( sz.width() < ul.width() ) {
$('.scrollable a.left, .scrollable a.right').show();
}
else {
$('.scrollable a.left, .scrollable a.right').hide();
}
})
.trigger('resize');
向滚动按钮添加事件。
$('.scrollable a.left').hover(
function (e) {
var sz = $('.window');
sz.animate({ scrollLeft : 0 }, 1000, 'linear');
},
function (e) {
$('.window').stop();
});
$('.scrollable a.right').hover(
function (e) {
var sz = $('.window');
var margin = sz.find('ul').width() - sz.width();
sz.animate({ scrollLeft : margin }, 1000, 'linear');
},
function (e) {
$('.window').stop();
});
完成!
也可以通过遍历“tab”元素并对 outerWidth
求和来计算宽度。如果您拥有完全控制权,则这是不必要的,但对于完整的独立插件来说可能是更好的选择。
关于javascript - 内容宽度未知的 jCarousel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/397184/
我正在使用 jCarousel 在我的页面中显示图像轮播。它工作得很好,我没有提示,但我正在使用页面上的选项卡,当我转到另一个选项卡时,出现一个丑陋的 jCarousel 错误。基本上我想做的是当我进
我在我的项目中使用 jcarousel 插件。我使用以下函数来实现产品 slider 的分页 actualizePagination: function(element) { var jcar
我目前正在使用 JCarousel 来突出显示 Wordpress 中的“特色帖子”。轮播显示在首屏上方,作为标题的一部分。一旦加载,它就可以很好地工作,但由于我们在包含许多元素的大页面的首屏上方使用
我知道这个问题的明显答案是检查 jquery 和 jcarousel 脚本是否正确加载,但我可以在浏览器调试器中看到资源,因此认为这不是问题所在。我似乎无法让它运行脚本: j
我在我开发的网站的主页上遇到了 Javascript 错误。主页上有一个 jCarousel 滚动条,可以在配置文件之间滚动。 错误如下: this.clip[0] is undefined 位于 j
JCarousel 最近发生了变化(2011 年 1 月)。 它曾经有一种方法可以通过自动滚动实现悬停暂停。 在新版本中,我无法解决如何让自动滚动在悬停时停止: 我希望滚动在鼠标悬停时停止并在鼠标移出
我正在将 jCarousel 插件用于小型图库页面,并使用 itemloadcallback 参数动态加载轮播上的项目。 但是,我不确定这是否可能,但是有没有办法可以删除页面本身上的轮播实例并使用新的
我在设置 jCarousel 时遇到了一些问题 - www.lovejungle.com/store 基本上我希望它看起来像 www.ripcurl.com.au/?home 上的幻灯片 我已经实现了
我是一名图形设计师,我正在尝试使用一些精彩的 jquery 脚本来编写我的新作品集。我想让 jcarousel (http://sorgalla.com/projects/jcarousel/) 在鼠
我的 jquery jcarousel 插件有问题。如果我不使用“itemFallbackDimension”属性,我会收到一条错误消息“jCarousel:没有为项目设置宽度/高度。这将导致无限循环
如何修改此 jCarousel 示例,以便单击左按钮或右按钮时,轮播将继续朝该方向滚动:http://sorgalla.com/projects/jcarousel/examples/static_a
已成功添加 jcarousel 来浏览我的使用动态模板构建的 html 网站。但是,当我位于链接到的页面上时,我需要一个图像链接显示为事件状态,以便查看者知道他们在哪里。另外,每当我进入新页面时,当我
我需要做类似的事情: jQuery('#ImgCarousel').jcarousel({}); jQuery('#ImgCarouselCon').hide(); ImgCarouselCon 是包
我正在使用插件 jCarousel ( http://sorgalla.com/projects/jcarousel/ ),而不是图像滑入(如“带有自动滚动的轮播”演示) 我希望图像淡入。用法是一个自
var carousel = jQuery('#mycarousel').data('jcarousel'); var index = carousel.size() + 1; carouse
$(function() { $('.jcarousel') .jcarousel({ auto: 1, animation: { duration: 3000, easing: 'linear
我正在使用 jCarousel 插件,但遇到了障碍... 我需要旋转木马在导航按钮悬停时不断滚动。将内置配置变量更改为“鼠标悬停”每次悬停仅滚动一次。 我遇到了 this similar questi
这里有一个更艰巨的挑战。 点击我的jsfiddle Here : 我正在使用这个 jQuery plugin一张专辑。每当用户单击图片时,我都想突出显示该项目。完成了! 下面是触发相册的函数:
我有一个自动完成的文本输入,它使用 jcarousel 触发一个 slider 来滚动到所选人物的图像。问题是,如果您搜索一次,它会起作用,但再次搜索会使所有图像消失。 下面是控制输入的代码: jQu
我想在 jcarousel 中显示大约 6 个项目,问题是每当jcarousel 可用的项目少于 6 个,它只是与项目。就像,如果我有 3 个项目,它们会相互重叠或分开很远。 我做错了什么?如果我们有
我是一名优秀的程序员,十分优秀!