`
yangw1125
  • 浏览: 10552 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

image change preview

阅读更多
<style type="text/css">
#idNum {
position: absolute;
right: 424px;
top:447px;
bottom: -1px !important;
bottom: 65px;
}

#idNum  li {
float: left;
list-style: none;
color: #fff;
text-align: center;
line-height: 16px;
width: 16px;
height: 16px;
font-family: Arial;
font-size: 12px;
cursor: pointer;
margin: 1px;
border: 1px solid #707070;
background-color: #060a0b;
}

#idNum li.on {
line-height: 18px;
width: 18px;
height: 18px;
font-size: 14px;
border: 0;
background-color: #ce0609;
font-weight: bold;
}
</style>





<div id="idPicShow">
<ul id="idNum">
</ul>
</div>
<div id="idPicText" style="display: none"></div>
<div id="idPicList" style="display: none"></div>
<script>


var isIE = (document.all) ? true : false;

var $ = function (id) {
return "string" == typeof id ? document.getElementById(id) : id;
};

var Class = {
create: function() {
return function() { this.initialize.apply(this, arguments); }
}
}

var Extend = function(destination, source) {
for (var property in source) {
destination[property] = source[property];
}
}

var Bind = function(object, fun) {
return function() {
return fun.apply(object, arguments);
}
}

var Each = function(list, fun){
for (var i = 0, len = list.length; i < len; i++) { fun(list[i], i); }
};


//ie only
var RevealTrans = Class.create();
RevealTrans.prototype = {
  initialize: function(container, options) {
this._img = document.createElement("img");
this._a = document.createElement("a");

this._timer = null;//计时器
this.Index = 0;//显示索引
this._onIndex = -1;//当前索引

this.SetOptions(options);

this.Auto = !!this.options.Auto;
this.Pause = Math.abs(this.options.Pause);
this.Duration = Math.abs(this.options.Duration);
this.Transition = parseInt(this.options.Transition);
this.List = this.options.List;
this.onShow = this.options.onShow;

//初始化显示区域
this._img.style.visibility = "hidden";//第一次变换时不显示红x图
    this._img.style.border = 0;
this._img.onmouseover = Bind(this, this.Stop);
this._img.onmouseout = Bind(this, this.Start);
isIE && (this._img.style.filter = "revealTrans()");

this._a.target = "_blank";

$(container).appendChild(this._a).appendChild(this._img);
  },
  //设置默认属性
  SetOptions: function(options) {
this.options = {//默认值
Auto: true,//是否自动切换
Pause: 3000,//停顿时间(微妙)
Duration: 1,//变换持续时间(秒)
Transition: 23,//变换效果(23为随机)
List: [],//数据集合,如果这里不设置可以用Add方法添加
onShow: function(){}//变换时执行
};
Extend(this.options, options || {});
  },
  Start: function() {
clearTimeout(this._timer);
//如果没有数据就返回
if(!this.List.length) return;
//修正Index
if(this.Index < 0 || this.Index >= this.List.length){ this.Index = 0; }
//如果当前索引不是显示索引就设置显示
if(this._onIndex != this.Index){ this._onIndex = this.Index; this.Show(this.List[this.Index]); }
//如果要自动切换
if(this.Auto){
this._timer = setTimeout(Bind(this, function(){ this.Index++; this.Start(); }), this.Duration * 1000 + this.Pause);
}
  },
  //显示
  Show: function(list) {
if(isIE){
//设置变换参数
with(this._img.filters.revealTrans){
Transition = this.Transition; Duration = this.Duration; apply(); play();
}
}
this._img.style.visibility = "";
//设置图片属性
this._img.src = list.img; this._img.alt = list.text;
//设置链接
!!list["url"] ? (this._a.href = list["url"]) : this._a.removeAttribute("href");
//附加函数
this.onShow();
  },
  //添加变换对象
  Add: function(sIimg, sText, sUrl) {
this.List.push({ img: sIimg, text: sText, url: sUrl });
  },
  //停止
  Stop: function() {
clearTimeout(this._timer);
  }
};


//////////////////////

var rvt = new RevealTrans("idPicShow");

//添加变换对象
rvt.Add('<%=path%>/story/image/banner.gif', '', 'http://www.jianlibao.com.cn/lalaevent/lala-index.asp');
rvt.Add('./images/index_roll_2.jpg', '', 'http://www.16zg.com/readDetailNews.action?newsId=2c90e0c422209304012220d609920022');
//rvt.Add('./images/index_roll_3.jpg', '', 'http://angel.2010angel.com');
rvt.Add('./images/index_roll_4.jpg', '', 'http://www.rayli.com.cn/region/C0073.html');
//rvt.Add('./images/index_roll_5.jpg', '', '');

var oList = $("idPicList"), oText = $("idPicText"), arrImg = [];

var oNum = $("idNum"), arrNum = [];

//设置图片列表
Each(rvt.List, function(list, i){
//图片式
var img = document.createElement("img");
img.src = list["img"]; img.alt = list["text"];
arrImg[i] = img;
oList.appendChild(img);
//按钮式
var li = document.createElement("li");
li.innerHTML = i + 1;
arrNum[i] = li;
oNum.appendChild(li);
//事件设置
img.onmouseover = li.onmouseover = function(){ rvt.Auto = false; rvt.Index = i; rvt.Start(); };
img.onmouseout = li.onmouseout = function(){ rvt.Auto = true; rvt.Start(); };
});

//设置图片列表样式 文本显示区域
rvt.onShow = function(){
var i = this.Index, list = this.List[i];
//图片式
Each(arrImg, function(o){ o.className = ""; }); arrImg[i].className = "on";
//按钮式
Each(arrNum, function(o){ o.className = ""; }); arrNum[i].className = "on";
//文本区域
oText.innerHTML = !!list.url ? "<a href='" + list.url + "' target='_blank'>" + list.text + "</a>" : list.text;
}

//文本显示区域
oText.onmouseover = function(){ rvt.Auto = false; rvt.Stop(); };
oText.onmouseout = function(){ rvt.Auto = true; rvt.Start(); };

rvt.Start();
</script>
分享到:
评论

相关推荐

    js图片上传预览(ImagePreview)

    这个名为"ImagePreview"的小程序旨在提供一个跨浏览器的解决方案,它不仅兼容Internet Explorer(IE)和Firefox,而且在后台支持ASP.NET的情况下,还能适应其他浏览器。 首先,我们来理解一下图片上传预览的基本...

    Jquery 异步图片预览 ImagePreview

    jQuery提供了一种高效便捷的方式实现异步图片预览,即`ImagePreview`插件。这个插件允许在不刷新页面的情况下,动态加载并显示图片,为用户提供良好的交互体验。 ### 1. jQuery基础 jQuery是一个轻量级的...

    ImagePreview

    "ImagePreview"这个主题就涉及到了如何在网页上实现图片的预览技术。这项技术可以帮助用户在正式上传图片之前先查看图片内容,提升用户体验。下面将详细讨论相关知识点。 1. **HTML5 File API** HTML5的File API...

    image-preview:一个简单JavaScript功能,可在上传之前预览图像

    "image-preview"项目提供了一个简单的JavaScript解决方案,允许用户在上传图像之前进行预览,极大地提升了用户体验。这个功能尤其适用于那些需要用户上传图片的网站或应用,如社交媒体、电子商务平台和个人博客等。 ...

    jQuery实现图片预览功能

    接下来,我们引入jQuery库(这里使用的是CDN链接)和自定义的`imagePreview.js`脚本,这个脚本将包含实现图片预览功能的代码。 在`js/imagePreview.js`文件中,我们可以编写以下JavaScript代码: ```javascript $...

    Image-preview-with-filereader-api:一个简单的演示,展示如何在上传前预览图像

    "Image-preview-with-filereader-api"项目就是一个很好的示例,它利用了HTML5的FileReader API来实现这一功能。接下来,我们将详细讨论这个API以及如何通过它来实现图像预览。 FileReader API是HTML5引入的一个重要...

    preview, 纯浏览器端的图片预览.zip

    对于图片,mediatype通常是`image/jpeg`或`image/png`,data则是经过编码的图片内容。将图片文件转化为Data URL后,可以设置为`&lt;img&gt;`标签的`src`属性,从而实现预览。 4. **跨域问题**:由于同源策略的限制,...

    HTML5 图片上传 带预览功能 (pc,手机都能适配)

    &lt;input type="file" id="imageInput" accept="image/*"&gt; ``` 2. 使用JavaScript监听`change`事件,当用户选择图片后触发。在事件处理函数中,获取选中的文件,并创建`FileReader`对象。 ```javascript document....

    【JavaScript源代码】js实现头像上传并且可预览提交.docx

    preview = document.getElementById('test-image-preview'); function upImg() { preview.style.backgroundImage = ''; // 清除背景图片 if (!fileInput.value) { // 检查文件是否选择 $('#test-image-preview...

    ImageMagick图片批量处理

    -preview type image preview type -quality value JPEG/MIFF/PNG compression level -quiet suppress all warning messages -red-primary point chromaticity red primary point -regard-warnings pay ...

    Android代码-Android-Ultra-Photo-Selector

    I am using UIL, so you can configure image caching your own way, if you want to change. on your mobil phone. Selection image result is also preserved. See AndroidManifest.xml for more details. ...

    图片上传预览

    在这个例子中,`accept="image/*"`限制用户只能选择图片文件,`#preview-image`是预览图片的占位符,初始设置为隐藏。 接下来,我们使用JavaScript监听`input`元素的`change`事件,当用户选择图片后触发。在事件...

    js获取 input file 图片立即显示

    document.getElementById('imageUpload').addEventListener('change', function(event) { // 获取用户选择的文件 var file = event.target.files[0]; // 验证是否为图片类型 if (file.type.startsWith('image/...

    vue+手机端上传图片

    &lt;input type="file" @change="onFileChange" accept="image/*"&gt; ``` 这里的`@change`事件监听器会触发一个名为`onFileChange`的方法,当用户选择文件时。`accept="image/*"`限制用户只能选择图片文件。 在Vue组件...

    Preview-Image-With-[removed]使用 Javascript 的简单代码预览图像

    &lt;input type="file" id="imageInput" accept="image/*"&gt; ``` 这里的 `accept="image/*"` 属性限制了用户只能选择图像文件。`id="imageInput"` 用于后续JavaScript中的引用。 接下来,我们需要一个`&lt;img&gt;`元素来...

    sassdoc.github.io:SassDoc的网站

    make preview 制作assets/image/preview-image.png默认主题的最新预览。make themes 做主题画廊正常工作所需的一切: 在theme-gallery ,在获取定义的所有主题themes.mk ,使它们在preview和生成缩略图thumbs 。 从...

    php+html+jquery实现图片裁剪上传

    var croppedImage = $('#image-preview').cropper('getCroppedCanvas').toDataURL(); // 将裁剪后的图片发送到服务器 $.ajax({ url: 'upload.php', method: 'POST', data: {croppedImage: croppedImage}, ...

    preview

    document.getElementById('fileInput').addEventListener('change', function(e) { var file = e.target.files[0]; if (file.type.match(/image.*/)) { var reader = new FileReader(); reader.onload = ...

    jQuery实现图片嵌入表单.zip

    &lt;img id="preview-image" src="#" alt="图片预览"&gt; ``` 在CSS(层叠样式表)中,我们可以为表单和预览区域添加一些基本样式,以确保布局清晰易读。 ```css #preview-image { width: 200px; height: auto; } ``...

    I2Localization2.8.6_f2

    Image, Text, Sounds, Fonts, Sprites, Atlases, Prefabs, TextMeshes, Dropdowns and more. Auto Translation Built-in support for Google Translator to automatically localize all your labels into any ...

Global site tag (gtag.js) - Google Analytics