如何提高网页中图片显示的用户体验(附源码下载)

文章中加入适量的图片不仅可以更好的说明和补充文章的内容,而且还可以极大的减缓阅读者在阅读较长篇幅文章时的疲劳和不安。所以图文混排较好的文章能给阅读者更好的用户体验和享受。但是令人遗憾的是很多的网页图片的显示并不十分理想,非但没有给阅读者带来好的阅读享受,反而给文章的阅读带来了不少的麻烦。其中的“麻烦制造者”就是尺寸很大的图片。如何适当的显示大尺寸的图片则变成了解决问题的关键。

对于大尺寸的图片显示以前的做法主要有以下几种:

1.用width和height强制将大图片显示时变小,点击图片时在新的页面中显示大尺寸的图片。
2.用iframe将图片套起来限制图片的最大占用尺寸,用局部的横向和竖向滚动条来观看全局。
3.用缩略图方式,平时显示一个小的图片,点击图片时在新的页面中显示大尺寸的原图。

第1种实现最简单,而且很方便,但是就目前中国的网速来看这种方法尤其致命的弊端。
第2种方法是愚蠢的方法,先不说iframe不提倡用,就是网页上一坨坨的滚动条就让人想点X。
第3种是最成熟也是现在实用最多的办法。不可否则缩略图+原图的方法就目前的中国网速而言是最好的模式,这个方法的问题也不是这点,而是那个弹出的新窗口。新的窗口意味着客户计算机资源的消耗。现在就看看你的windows任务栏上到底有多少打开的窗口你就知道这种弹出新窗口的方法是多么令人讨厌。虽然现在多tab浏览器已经很多,但是也需要在新的tab呈现大尺寸图片,阅读者必须先离开当前的阅读窗口(tab),到新弹出的窗口(tab)才能看到大尺寸的原图,然后还需要回到原来的阅读窗口。这样会打断阅读者的阅读连贯性,容易分散阅读者的注意力,加速阅读者的阅读疲劳。所以说这也不是一种用户体验好的方法。

如何显示图片才能给阅读者较好的用户体验呢。微软的MSDN Magazine 网站给了我们一些参考。(http://msdn.microsoft.com/msdnmag/issues/07/04/ASPNET20/default.aspx文章也很不错,推荐看看)。

其中有个图片,你试着点击一下小图就可以立即得到大尺寸的原图。缩略图和大尺寸原图的切换在利用javascript脚本在同一个窗口中无停滞的切换,给人一种很俐落的感觉。

方法一:利用文档替换来实现显示缩略图原图的方法。它的好处是符合传统的用户操作习惯和阅读习惯。缺点是:破坏原有文档布局。

参数说明:ToggleImages(hideImage, showImage)

hideImage:欲隐藏的文档标签;
showImage:欲显示的文档标签;

研究一下代码就知道如何实现,不再多说。但是必须提醒一下:它的写法很糟糕,不符合web标准,不提倡那种style直接写到前台的做法。我提供的Demo源码中已经对此做出了适当的修正。
(下载地址:http://files.cnblogs.com/JustinYoung/pictureUE.rar)

另外一种方法是利用悬浮层来显示缩略图的原图,这个方法通用性很强,不仅可以用来显示缩略图的原图,还可以用于其他用途,例如用来显示一些描述和文档补充等等。它的好处是不占用文档流中的空间而是悬浮出来的层,这样不会影响原文档的布局。缺点是:当原图很大的时候,有可能出现横向滚动条,而此滚动条的操作体验很差。

对几个重要参数说明一下:at_attach(parent, child, showtype, position, cursor)
parent :引发出现悬浮层事件的父容器便签ID;
child :悬浮层便签ID;
showtype :引发出现悬浮层事件的行为。可以是click或者是hover;
cursor :父容器鼠标样式;

这两种方法都是通过缩略图+大尺寸原图来解决网速问题,通过在同一个窗口显示大尺寸图片来解决阅读的连续性问题。是用户体验度较高的网页显示图片的方法,值得推荐。

keyword:网站用户体验,microsoft 用户体验,ue 用户体验,图片缩略图,网页缩略图显示

转载于:https://www.cnblogs.com/JustinYoung/archive/2007/07/09/UE-for-picture.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/464113.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

全开源最小电压表:24位ADC,测量0~2V,五位半

1、项目背景2015年5月份评估完十几种24位ADC后就从第一份工作岗位上离职了,做的24位AD都没有达到实际的效果,一直耽搁困扰了好久。是硬件设计的问题?还是软件开发的问题?还是24位ADC真的不咋地?还是要离职了干活就不负…

小小Table

图1 图2(加了蓝色,让问题更清楚)说明:1.工作需要要做这样一个图形(图1),而且要求不用表(table)套表(table)即一个table画出。2.素材有图表两张:(12*14),(12*13) 颜色为Red感兴趣的朋友…

文件断点续传原理与实现

文件断点续传原理与实现 在网络状况不好的情况下,对于文件的传输,我们希望能够支持可以每次传部分数据。首先从文件传输协议FTP和TFTP开始分析, FTP是基于TCP的,一般情况下建立两个连接,一个负责指令,一个负…

Windows Forms、MFC、WTL、WxWidgets、Qt、GTK综合比较

图形界面库Windows Forms、 MFC、WTL、 WxWidgets、Qt、GTK 综合比较见下表: 总结: GTK主要用在X Window上,整个设计的架构和许多概念和MFC以及一般 Windows 上的程序开发大异其趣,入门门槛较高,而且最主要的特色是&am…

G3,是塔克和阿德巴约的热火队

这一场,是塔克和阿德巴约的热火队G2的比赛,波斯顿人的数据如下G3的比赛,波斯顿人的数据如下如果说田忌赛马可以用在篮球场上,那这场堪称经典热火和波斯顿人的第三场比赛,火队是客场作战,客场作战的热火在第…

微信小程序--数据存储

对本地缓存数据操作分为同步和异步两种。同步方法有成功回调函数,表示数 据处理成功后的操作。下面是小程序提供本地缓存操作接口: 以Sync结尾都是同步方法。同步方法和异步方法的区别是: 同步方法会堵塞当前任务,直到同步方法处理…

RTMPdump 源代码分析 1: main()函数

http://blog.csdn.net/leixiaohua1020/article/details/12952977 rtmpdump 是一个用来处理 RTMP 流媒体的工具包,支持 rtmp://, rtmpt://, rtmpe://, rtmpte://, and rtmps:// 等。之前在学习RTMP协议的时候,发现没有讲它源代码的,只好自己分…

项目分享| 自制巡线机器人

本次分享机器人项目由myyerrol制作,是他的第一个基于RISC-V的机器人项目。以下文字详细记录了机器人制作的软硬件组成、核心算法等,对机器人感兴趣的朋友可收藏,也可关注他的知乎账号(myyerrol)或GitHub(ht…

CUDA线程、线程块、线程束、流多处理器、流处理器、网格概念的深入理解

一.与CUDA相关的几个概念:thread,block,grid,warp,sp,sm。 sp: 最基本的处理单元,streaming processor 最后具体的指令和任务都是在sp上处理的。GPU进行并行计算,也就是很多个sp同时…

.Net环境下基于Ajax的MVC方案

现在,越来越多人开始尝试基于Ajax进行无刷新的Web开发,不过,在.Net环境下,应用Ajax并不是非常方便,这主要可能是由以下一些原因造成的: •由于Ajax基于javascript的本质,使得开发者必须对javasc…

一道C语言指针的题目

早上看到的题目,但是现在去找没看到了。我当时还把图片放在小号里面了,大家可以看看。大家看看这个代码输出什么?如果想让它输出77要怎么用指针写呢?凭记忆写一下#include "stdio.h"#include "stdint.h" int …

Linux IO多路复用之epoll网络编程,高并发的使用例子 (含源码)

本章节是用基本的Linux基本函数加上epoll调用编写一个完整的服务器和客户端例子,可在Linux上运行,客户端和服务端的功能如下: 客户端从标准输入读入一行,发送到服务端 服务端从网络读取一行,然后输出到客户端 客户端收到服务端…

c#中Excel数据的导入、导出

/**//// <summary>/// 导出到 Excel 文件/// </summary>/// <param name"fileName">含完整路径</param>/// <param name"dataTable">含字段标题名</param>publicvoidExpExcel(stringfileName ,DataTable dataTable){ …

你对Linux下的实时性应该多点了解

作者简介顺刚(网名:沐多)&#xff0c;一线码农&#xff0c;从事工控行业&#xff0c;目前在一家工业自动化公司从事工业实时现场总线开发工作&#xff0c;喜欢钻研Linux内核及xenomai&#xff0c;个人博客 wsg1100&#xff0c;欢迎大家关注&#xff01;本文讲述一些有利于提高x…

DHCP机制

DHCP概念&#xff1a;局域网的网络协议&#xff0c;使用UDP协议工作&#xff0c;在工作过程中&#xff0c;它有两个对象&#xff0c;DHCP客户端和DHCP服务端&#xff0c;DHCP服务运行在&#xff16;&#xff17;端口和&#xff16;&#xff18;端口。 用途&#xff1a;&#xf…

一号团队-团队任务3:每日立会(2018-12-01)

一.基本信息 团队序号&#xff1a;一号 开发的软件名称&#xff1a;Java教学官网 撰写人&#xff1a;张浩洋 学号:2016035107283 职务:项目经理 二.团队汇报 1.汇报文字版 一号团队全体成员与2018年12月01日在第一组项目群中针对2018年11月30日工作任务进行汇报&#xff0c;汇总…

40 岁的中年失业

大家好&#xff0c;我是写代码的篮球球痴&#xff0c;昨天发了一篇文章&#xff0c;有一个朋友转发了&#xff0c;然后看到有人评论&#xff0c;如下&#xff1a;前两天有朋友问我&#xff0c;说腾讯裁员好严重&#xff0c;还有如何如何&#xff0c;我是这样回答的。很多事情我…

Linux/Windows系统内核性能调优

做过Linux平台性能测试的童鞋平时可能会遇到如下问题&#xff1a; 1、 TCP端口号不够用导致并发上不去&#xff08;即与服务器端建立新连接失败&#xff09; 2、 TIME_WAIT状态连接过多导致应用服务器&#xff08;Nginx、Haproxy、Redis、Tomcat等&#xff09;性能下降或假死…

MCU复位和程序启动那些事

大家好&#xff0c;这篇文章转自电源漫谈&#xff0c;文章从专业的角度说明了MCU复位经过的过程&#xff0c;对大家学习很有帮助。MCU通常会在工作之前&#xff0c;先经历复位和启动的一个过程&#xff0c;在用户使用过程中往往在这个阶段的工作不是那么的清楚&#xff0c;这里…

若有所思

今天出来​逛了下&#xff0c;没有准备文章&#xff0c;刚好一个朋友有一段思考&#xff0c;给大家分享下。深圳动物园是一个值得去的地方​-----佚名海边的夏天&#xff0c;太阳公公当空照&#xff0c;照的大地滚烫&#xff0c;海水湛蓝。人们都躲到树荫下&#xff0c;享受舶风…