(function(exports) { // 滚动图 var SF = new ScrollPic(); SF.scrollContId = "slide"; SF.dotListId = "slide_dot"; SF.dotClassName = ""; SF.dotOnClassName = "current"; SF.listType = ""; SF.listEvent = "onmouseover"; SF.frameWidth = 415; SF.pageWidth = 415; SF.upright = false; SF.speed = 20; SF.space = 50; SF.autoPlay = true; SF.autoPlayTime = 5; SF.circularly = true; SF.initialize(); exports.FocusSlide = SF; // 播放器设置 exports.sinaBokePlayerConfig_o_my = { url: "", // flash播放器地址, container : "flashPlayer", id: "myMovie", width: 415, height: 360, params : { allowNetworking : "all", allowScriptAccess : "always", wmode : "opaque", allowFullScreen : "true", quality : "high" }, attributes: {}, flashvars: { autoPlay: 1, //是否自动播放 loop: 0, autoLoad: 2, thumbUrl: '', tj: 0, as: 0, mode: 2 }, h5attr: { autoPlay: true, //是否自动播放 controls: true, //是否显示控制条 loop: false, poster: '', //视频加载前欲加载的图片地址,即播放器一开始显示的截图 preload: 'auto' } }; })(window); (function(exports) { var Util = { byId: function(id) { return document.getElementById(id) }, byClass: function(str, root, tag) { if (root) { root = typeof root == "string" ? document.getElementById(root) : root } else { root = document.body } tag = tag || "*"; var els = root.getElementsByTagName(tag), arr = []; for (var i = 0, n = els.length; i < n; i++) { for (var j = 0, k = els[i].className.split(" "), l = k.length; j < l; j++) { if (k[j] == str) { arr.push(els[i]); break } } } return arr }, bindEvent: function(o, s, fn) { if (o.attachEvent) { o.attachEvent('on' + s, fn) } else { o.addEventListener(s, fn, false) } return o }, extend: function(target, source, deep) { target = target || {}; var sType = typeof source, i = 0, options; if (sType === 'undefined' || sType === 'boolean') { deep = sType === 'boolean' ? source : false; source = target; target = this } if (typeof source !== 'object' && Object.prototype.toString.call(source) !== '[object Function]') { source = {} } while (i <= 2) { options = i === 1 ? target : source; if (options !== null) { for (var name in options) { var src = target[name], copy = options[name]; if (target === copy) { continue } if (deep && copy && typeof copy === 'object' && !copy.nodeType) { target[name] = this.extend(src || (copy.length !== null ? [] : {}), copy, deep) } else if (copy !== undefined) { target[name] = copy } } } i++ } return target } }; var Player = function(id, options) { var self = this; self.wrapId = id; self.inited = false; self.options = self._setOptions(options); self.dom = self._getDom(id); self.init(); }; Player.prototype = { init: function() { var self = this; var opt = self.options; var data = self.data = []; self.index = 0; self.fold = true; var triggers = self.dom.triggers; var tLength = triggers.length / 2; for (var i = 0; i < tLength; i++) { var cItem = triggers[i]; var info = cItem.getAttribute('play-data').split('-'); var url = cItem.getAttribute('url-data'); var title = cItem.getAttribute('title-data'); if (info) { data.push({ vid: info[0], pid: info[1], vAds: info[2], url: url, title: title, itself: cItem }) } }; self._bindEvents(); self.inited = true }, _setOptions: function(options) { var defaults = this.defaults = { playerClass: 'J_Focus_Player', triggerClass: 'J_Focus_Trigger', closeClass: 'J_Focus_Close' }; return Util.extend(defaults, options, true) }, _getDom: function(id) { var self = this; var opt = self.options; var dom = { wrap: Util.byId(id), player: Util.byClass(opt.playerClass, this.wrap, 'div')[0], triggers: Util.byClass(opt.triggerClass, this.wrap, 'a'), close: Util.byClass(opt.closeClass, this.wrap, 'a')[0] }; return dom; }, stop: function() { Util.byId('flashPlayer').innerHTML = ''; }, play: function() { var self = this; var cData = self.data[self.index]; var videoConfig = { video_id:cData.vid }; exports.playVideo(sinaBokePlayerConfig_o_my, videoConfig); self.firstPlay = false; }, _unfold: function(num) { var self = this; self.fold = false; self.index = num; self.dom.player.style.display = 'block'; Util.byId('flashPlayer').innerHTML = ''; self.play(); FocusSlide&&(FocusSlide.autoPlay = false); }, _fold: function() { var self = this; self.stop(); self.dom.player.style.display = 'none'; self.fold = true; FocusSlide&&(FocusSlide.autoPlay = true); }, _bindEvents: function() { var self = this; var triggers = self.dom.triggers; var close = self.dom.close; var tLength = triggers.length; var trueNum = tLength / 2; for (var i = 0; i < tLength; i++) { (function(i) { var t = triggers[i]; Util.bindEvent(t, 'click', function() { self._unfold(i % trueNum); return false }) })(i); }; Util.bindEvent(close, 'click', function() { self._fold(); return false; }) } }; exports.CommonUtil = Util; exports.FocusPlayer = Player; })(window); (function(exports){ // 初始化 var FP = new FocusPlayer('J_Focus_Player_Wrap', { triggerClass: 'J_Focus_Trigger', closeClass: 'J_Focus_Close' }); })(window);