正在加载...
欢迎订阅本站RSS,RSS地址:http://feed.css9.net。选择您使用的阅读器:Google Reader鲜果抓虾

在本系列文章的前五篇介绍了jQuery Tools中的工具组件使用,阅读过的朋友想必已经对它有所了解。今天这篇是jQuery Tools系列文章的最后一篇,来介绍一个综合了jQuery Tools中的滚动效果(Scrollable)、遮罩效果(Overlay)、提示工具条(Tooltip)和突出效果(Expose)的综合使用实例,希望能对jQuery Tools的灵活使用有更好的认识。

这个示例应该算是一个图片展示的完整示例,首先看效果:


A Blue Flower

Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur.

Wed Jun 10, 2:35 PM © John Doe

A Blue Flower

Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur.

Wed Jun 10, 2:35 PM © John Doe

A Blue Flower

Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur.

Wed Jun 10, 2:35 PM © John Doe

A Blue Flower

Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur.

Wed Jun 10, 2:35 PM © John Doe

A Blue Flower

Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur.

Wed Jun 10, 2:35 PM © John Doe

A Blue Flower

Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur.

Wed Jun 10, 2:35 PM © John Doe

A Blue Flower

Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur.

Wed Jun 10, 2:35 PM © John Doe

A Blue Flower

Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur.

Wed Jun 10, 2:35 PM © John Doe

A Blue Flower

Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur.

Wed Jun 10, 2:35 PM © John Doe

A Blue Flower

Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur.

Wed Jun 10, 2:35 PM © John Doe

A Blue Flower

Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur.

Wed Jun 10, 2:35 PM © John Doe

A Blue Flower

Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur.

Wed Jun 10, 2:35 PM © John Doe

A Blue Flower

Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur.

Wed Jun 10, 2:35 PM © John Doe

A Blue Flower

Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur.

Wed Jun 10, 2:35 PM © John Doe

A Blue Flower

Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur.

Wed Jun 10, 2:35 PM © John Doe

A Blue Flower

Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur.

Wed Jun 10, 2:35 PM © John Doe

在上面示例中,首先看到的是缩略图的展示,在缩略图展示上应用了滚动效果,可通过左右导航或键盘左右键滚动缩略图。点击缩略图图片,应用遮罩效果弹出图片的大图,把鼠标放在大图上,应用工具条提示效果展示图片信息。在大图展现时也应用了滚动效果,可通过左右导航或键盘左右键切换图片。

下面我们来看是如何融合jQuery Tools中的工具组件,实现上面实例的:

  1. HTML包含两部分:缩略图展示和大图展示

    缩略图HTML:

    <!-- 为滚动效果的导航定义上一页按钮,注意class固定为prevPage --> 
    <!--导航按钮注意与缩略图滚动区域同级-->
    <div class="navi prevPage"></div> 
     
    <!-- 定义缩略图滚动区域根节点 --> 
    <div id="thumbnails"> 
     
        <!-- 为所有缩略图定义根节点,注意class为items --> 
        <div class="items"> 
            <div><img src="img/thumb/thumb1.jpg" /></div> 
            <div><img src="img/thumb/thumb2.jpg" /></div> 
            <div><img src="img/thumb/thumb3.jpg" /></div> 
            ... 
        </div> 
    </div> 
     
    <!-- 为滚动效果的导航定义下一页按钮,注意class固定为nextPage --> 
    <div class="navi nextPage"></div> 
    <br clear="all" />

    大图部分HTML也应用了滚动效果,与上面的缩略图在html结构上差不多,不同的是大图多了tooltip提示部分
    大图部分HTML:

    <!-- 为大图overlay效果定义根节点--> 
    <div id="box"> 
     
        <!-- 为大图滚动效果区域定义根节点--> 
        <div id="images"> 
     
            <!-- 为所有大图定义滚动根节点,class为items --> 
            <div class="items"> 
     
                <!-- 定义单张大图 --> 
                <div> 
     
                    <!-- 大图图片 --> 
                    <img src="img/image1.jpg" /> 
     
                    <!-- 大图提示区域 --> 
                    <div class="info"> 
                        <h3>A Blue Flower</h3> 
     
                        <p>Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur.</p> 
     
                        <p class="copy"> 
                            Wed Jun 10, 2:35 PM <strong>&copy; John Doe</strong> 
                        </p> 
                    </div> 
                </div> 
     
                <!-- ... 其余大图定义,与上面那个相同 --> 
            </div> 
        </div> 
     
        <!-- 滚动的导航按钮 --> 
        <div class="navi prevPage"></div> 
        <div class="navi nextPage"></div>  
    </div>
  2. CSS部分:css部分是jquery tools中不涉及的,它允许你发挥想象,灵活定义。但是,在本示例中,css部分可能是编码最困难的。这里是本示例的样式表,供学习参考。
  3. Javascript部分:这一部分最能体会jquery Tools的灵活使用。

    首先设定缩略图的滚动效果:

    // 设定缩略图滚动
        $("#thumbnails").scrollable({size: 5, clickable: false}).find("img").each(function(index) { 
     
            // 为每个缩略图设定overlay效果
            $(this).overlay({ 
                target: '#box', 
                expose: {maskId: 'mask'}, 
     
                /* 
                    当显示大图区域时,0秒内滚动到当前图片
                    虽然是0秒,但是仍有一闪而过的问题,这里是个缺陷
                */ 
                onLoad: function() { 
                 //images在下面有定义,是获取到得所有大图对象
                    images.seekTo(index, 0);   
                } 
            }); 
        });

    然后设定大图的滚动效果及提示效果:

    // 设定大图滚动, 并返回了所有大图的jquery object
        var images = $("#images").scrollable({size: 1, api:true}); 
     
     
        //设定每个图片的提示效果
        $("#images img").tooltip({ 
            effect: 'toggle', 
            position: ['bottom', 'center'], 
            offset: [-85, -30], 
            opacity: 0.8, 
            effect: 'fade' 
        });

    上面的代码,如果有不明白的,可以翻看本系列文章的前几篇,这里就不多说了。有问题也可以下面留言讨论。

  4. 细心的朋友会发现示例中的缩略图使用了倒影特效,这是通过一款jquery插件实现的:reflection,下面这句为所有缩略图实现了倒影特效:
    $("#thumbnails img").reflect({height: 0.5, opacity: 0.6});

jQuery Tools系列文章到这里就要结束了,相信阅读过文章的朋友已经对这款jQuery UI库有所了解,希望能对大家的学习工作有所帮助,也希望大家能在不断应用jQuery Tools的过程中,发挥创造力,体会它的灵活之处,正如官方主页提到的:

The old UNIX design philosophy “tools, not policy” is very important in web design.

Unix设计理念中的“工具,并非准则”,在web设计中是非常重要的。

特别需要声明的是,本人在对jquery没有系统学习的情况下,就对这样一款jquery ui库做了使用介绍,对于jquery tools的介绍肯定有不周全,甚至谬误之处。并且本人英文水平也很是一般,对于某些词汇的把握可能不甚准确,如有错误或不明之处,望大家一定不吝指出。

Jquery Tools系列文章导航:

  1. Jquery Tools——不可错过的Jquery UI库(一):简介
  2. Jquery Tools——不可错过的Jquery UI库(二):Tabs选项卡
  3. Jquery Tools——不可错过的Jquery UI库(三):提示工具条
  4. Jquery Tools——不可错过的Jquery UI库(四):遮罩效果
  5. Jquery Tools——不可错过的Jquery UI库(五):滚动效果
  6. Jquery Tools——不可错过的Jquery UI库(六):综合示例

延伸阅读:

  1. Jquery Tools——不可错过的Jquery UI库(三)
  2. Jquery Tools——不可错过的Jquery UI库(四)
  3. jQuery Tools——不可错过的jQuery UI库(五)
  4. Jquery Tools——不可错过的Jquery UI库(一)
  5. Jquery Tools——不可错过的Jquery UI库(二)
  6. FullSize:一个新的IMG标签属性(附带JQuery实现)
  7. 实现页面不同位置间平滑滚动的两种解决方案
  8. 强大的Jquery图表绘制插件 —— jqPlot


版权声明:

本站内容受著作权法保护。个人网站、blog转载时请遵循 “署名-非商业用途-保持一致” 的创作共用协议;商业网站或媒体未授权不得复制本站内容。

友情提示:

如对本文有任何疑问,或在示例的使用中遇到问题,或有好的建议,欢迎在下面留言共同学习,有问必答。

: http://css9.net/flexible-ui-library-jquery-tools-6/

本文相关评论 - 才 15 条评论
2009-06-26 00:02:40

先抢沙发,然后再看。

2009-06-26 00:07:04

呵呵,速度真快啊

2009-06-30 09:30:52

[...] Jquery Tools——不可错过的Jquery UI库(六):综合示例 [...]

ben
2009-07-07 01:03:03

这个用来做个图片墙展示的话会很帅!

比如博客中所有附件或者论坛的附件

followith
2009-11-18 16:35:01

这个本来功能是不错的,可是在IE和FX下的显示效果实在差的太多了啊。
有没有什么好的建议啊

xw332
2009-11-18 22:00:53

官方的综合例子里的第三个,也就是要动态加载大图的js部分是有Bug的。
至少我这里测试时第一张大图是默认出不来,只有点击其他图再倒回来才能加载。
我通过自己的测试,发现是因为images.onSeek(function() { var i = this.getIndex();。。。});这个函数当i=0时没有触发加载事件导致的。
不知道博主有没有好的解释或者解决方法,希望能够收到您的邮件回复,谢谢。。

2009-11-23 18:37:59

不好意思,工作比较忙,一直没能回复。
我在ie 6、 7、 8 、firefox、chrome中都做了测试,没有发现你说的问题。也有可能是我没能理解你说的问题。

不过我查阅了一下官方提供的api文档,在已知bug中确实说seekTo方法不能正常工作,建议使用move()方法替代(http://flowplayer.org/tools/scrollable.html页面搜索Known issues可找到)。

如果需要进一步沟通,邮件有可能说不清楚,可以加我qq(见联系方式页面)。

xw332
2009-11-23 15:27:09

我的邮箱xw332@163.com,希望博主能为我解答一下,谢谢。。

2009-11-23 17:46:52

[...] Jquery Tools——不可错过的Jquery UI库(六):综合示例 [...]

2010-01-12 21:20:38

[...] Jquery Tools——不可错过的Jquery UI库(六):综合示例 [...]

guangzai
2010-04-27 14:24:25

呵呵,不错的东西哦1

2010-05-10 12:38:33

[...] Jquery Tools——不可错过的Jquery UI库(六):综合示例 [...]

野马
2010-06-28 15:49:14

非常好!非常感谢分享!good luck to you!

2010-07-10 16:03:53

I totally love this article. I think you could write some other things to make your blog more complete.For example: ed hardy.vibram five fingers.p90x workout schedule. mbt shoes. hardy caps. vibram fivefingers kso trek. mbt chapa dawn shoes.
ghd straightener
ugg ugg boots
replica louis vuitton handbags
edhardyI thought that many people can like.

2010-07-30 20:54:47

[...] jQuery Tools——不可错过的jQuery UI库(六) [...]

 填写1 + 10的结果