图片拖放轻松实现相册内容组织,HTML5 实现 本帖最后由 liusoft 于 2012-07-17 16:48:34 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 var aImgs = [ 'http://static.oschina.net/uploads/space/2012/0709/105428_4aoW_28.jpg', 'http://static.oschina.net/uploads/space/2012/0607/142131_2PqS_28.jpg', 'http://www.oschina.net/img/events/shenzhen-20120526.jpg', 'http://www.oschina.net/img/events/chengdu-20120415.jpg', 'http://www.oschina.net/img/events/shanghai-20120107.jpg', 'http://www.oschina.net/img/events/shenzhen-20111210.jpg', 'http://www.oschina.net/img/events/zhuhai-20111105.jpg', 'http://www.oschina.net/img/events/shenzhen-20110626.jpg', 'http://static.oschina.net/uploads/space/2012/0709/105428_4aoW_28.jpg', 'http://static.oschina.net/uploads/space/2012/0607/142131_2PqS_28.jpg', 'http://www.oschina.net/img/events/shenzhen-20120526.jpg', 'http://www.oschina.net/img/events/zhuhai-20111105.jpg'];$(function(){ $(".gallery").find("img").each(function(idx){ $(this).attr("src",aImgs[idx]); });});// add event handlervar addEvent = (function () { if (document.addEventListener) { return function (el, type, fn) { if (el && el.nodeName || el === window) { el.addEventListener(type, fn, false); } else if (el && el.length) { for (var i = 0; i < el.length; i++) { addEvent(el[i], type, fn); } } }; } else { return function (el, type, fn) { if (el && el.nodeName || el === window) { el.attachEvent('on' + type, function () { return fn.call(el, window.event); }); } else if (el && el.length) { for (var i = 0; i < el.length; i++) { addEvent(el[i], type, fn); } } }; }})();// inner variablesvar dragItems;updateDataTransfer();var dropAreas = document.querySelectorAll('[droppable=true]');// preventDefault (stops the browser from redirecting off to the text)function cancel(e) { if (e.preventDefault) { e.preventDefault(); } return false;}// update event handlersfunction updateDataTransfer() { dragItems = document.querySelectorAll('[draggable=true]'); for (var i = 0; i < dragItems.length; i++) { addEvent(dragItems[i], 'dragstart', function (event) { event.dataTransfer.setData('obj_id', this.id); return false; }); }}// dragover event handleraddEvent(dropAreas, 'dragover', function (event) { if (event.preventDefault) event.preventDefault(); // little customization this.style.borderColor = "#000"; return false;});// dragleave event handleraddEvent(dropAreas, 'dragleave', function (event) { if (event.preventDefault) event.preventDefault(); // little customization this.style.borderColor = "#ccc"; return false;});// dragenter event handleraddEvent(dropAreas, 'dragenter', cancel);// drop event handleraddEvent(dropAreas, 'drop', function (event) { if (event.preventDefault) event.preventDefault(); // get dropped object var iObj = event.dataTransfer.getData('obj_id'); var oldObj = document.getElementById(iObj); // get its image src var oldSrc = oldObj.childNodes[0].src; oldObj.className += 'hidden'; var oldThis = this; setTimeout(function() { oldObj.parentNode.removeChild(oldObj); // remove object from DOM // add similar object in another place oldThis.innerHTML += '<a id="'+iObj+'" draggable="true"><img src="'+oldSrc+'" /></a>'; // and update event handlers updateDataTransfer(); // little customization oldThis.style.borderColor = "#ccc"; }, 500); return false;}); 收藏了。最近正好在学习html5的东东 求去标签代码 今天,散分 谁有时间帮我解决问题下,很急 很急 ~!!分分分!!! IE 里面加载的控件,是要怎么注册进去的,能否修改配置文件加载 图片的js问题 SelectNodes()与selectSingleNode() 是做什么用的呀 這樣的replace用正則表達式可以嗎? 用js删除select中的所有项 在线等急 confirm 能实现多一个"否"按钮吗? JQ显示表格 如何用jquery实现异步刷新 跪求高手帮忙写个像手机菜单的网页!!!急用
var aImgs = [
'http://static.oschina.net/uploads/space/2012/0709/105428_4aoW_28.jpg',
'http://static.oschina.net/uploads/space/2012/0607/142131_2PqS_28.jpg',
'http://www.oschina.net/img/events/shenzhen-20120526.jpg',
'http://www.oschina.net/img/events/chengdu-20120415.jpg',
'http://www.oschina.net/img/events/shanghai-20120107.jpg',
'http://www.oschina.net/img/events/shenzhen-20111210.jpg',
'http://www.oschina.net/img/events/zhuhai-20111105.jpg',
'http://www.oschina.net/img/events/shenzhen-20110626.jpg',
'http://static.oschina.net/uploads/space/2012/0709/105428_4aoW_28.jpg',
'http://static.oschina.net/uploads/space/2012/0607/142131_2PqS_28.jpg',
'http://www.oschina.net/img/events/shenzhen-20120526.jpg',
'http://www.oschina.net/img/events/zhuhai-20111105.jpg'
];
$(function(){
$(".gallery").find("img").each(function(idx){
$(this).attr("src",aImgs[idx]);
});
});// add event handler
var addEvent = (function () {
if (document.addEventListener) {
return function (el, type, fn) {
if (el && el.nodeName || el === window) {
el.addEventListener(type, fn, false);
} else if (el && el.length) {
for (var i = 0; i < el.length; i++) {
addEvent(el[i], type, fn);
}
}
};
} else {
return function (el, type, fn) {
if (el && el.nodeName || el === window) {
el.attachEvent('on' + type, function () { return fn.call(el, window.event); });
} else if (el && el.length) {
for (var i = 0; i < el.length; i++) {
addEvent(el[i], type, fn);
}
}
};
}
})();// inner variables
var dragItems;
updateDataTransfer();
var dropAreas = document.querySelectorAll('[droppable=true]');// preventDefault (stops the browser from redirecting off to the text)
function cancel(e) {
if (e.preventDefault) {
e.preventDefault();
}
return false;
}// update event handlers
function updateDataTransfer() {
dragItems = document.querySelectorAll('[draggable=true]');
for (var i = 0; i < dragItems.length; i++) {
addEvent(dragItems[i], 'dragstart', function (event) {
event.dataTransfer.setData('obj_id', this.id);
return false;
});
}
}// dragover event handler
addEvent(dropAreas, 'dragover', function (event) {
if (event.preventDefault) event.preventDefault(); // little customization
this.style.borderColor = "#000";
return false;
});// dragleave event handler
addEvent(dropAreas, 'dragleave', function (event) {
if (event.preventDefault) event.preventDefault(); // little customization
this.style.borderColor = "#ccc";
return false;
});// dragenter event handler
addEvent(dropAreas, 'dragenter', cancel);// drop event handler
addEvent(dropAreas, 'drop', function (event) {
if (event.preventDefault) event.preventDefault(); // get dropped object
var iObj = event.dataTransfer.getData('obj_id');
var oldObj = document.getElementById(iObj); // get its image src
var oldSrc = oldObj.childNodes[0].src;
oldObj.className += 'hidden'; var oldThis = this; setTimeout(function() {
oldObj.parentNode.removeChild(oldObj); // remove object from DOM // add similar object in another place
oldThis.innerHTML += '<a id="'+iObj+'" draggable="true"><img src="'+oldSrc+'" /></a>'; // and update event handlers
updateDataTransfer(); // little customization
oldThis.style.borderColor = "#ccc";
}, 500); return false;
});