/* * 自动广告-基于jquery 20160720 * 广告展示次序在后台控制 * 顶部拉幕广告有多个时,依次拉幕展示 * 顶部固定广告、对联广告有多个时从上到下同时展示 * 返回值如下: Array ( [res] => Array ( [0] => Array ( [title] => 我是对联方式 [img] => /uploads/image/1808/24/1808241115298f46m.jpg [imgwidth] => 100 [imgheight] => 155 [top] => 190 [url] => http://baidu.com/ [adtype] => 5 [fontcolor] => [bgcolor] => ) [1] => array(......) ), [duiliantype] => 0 ) */ var wxyAD_first_child = null, //body第一个子元素,用来在其前面依次添加顶部固定广告,且保证在拉幕广告下方 wxyAD_lamu_status = 0, //当前是否有拉幕广告正在展示 wxyAD_duilian_type = 0; //对联方式展示方式:0浮动1固定 $(function(){ //获取广告并进行展示 $.post('/index.php/myapi/ad', {is_index:jsGet('wxyad.js', 'is_index')}, function(json){ wxyAD_duilian_type = typeof(json.duiliantype)=='undefined' ? 0 : parseInt(json.duiliantype); if(typeof(json.res)!=='undefined')wxyAD_show(json.res); }, 'json'); }); /* * 模拟php $_GET获取js后的参数 * jsName为js文件名称,如 jquery.js * para为参数名 */ function jsGet(jsName, para){ if(!jsName)return ''; jsName='/'+jsName+'?'; var script = $('script'), arr=''; for(var i=0; i-1){arr = script.eq(i).prop('src').split(jsName)[1]; break;}} if(!arr || typeof(para)=='undefined' || !para)return ''; arr = arr.split('&'); para += '='; for(i=0; i@media(max-width:767px){.ad-lamu, .ad-lamu a{max-height:180px;background-size:cover !important;}'); } //拉幕广告 function wxyAD_lamu(ad, flag){ if(wxyAD_lamu_status==1){ if(typeof(flag)=='undefined')$(''); setTimeout(function(){wxyAD_lamu(ad, 1)}, 500); return; } wxyAD_lamu_status=1; $('').load(function(){ var obj=$(this).get(0); var div=wxyAD_div(ad); div.prependTo('body'); div=div.filter('div'); div.slideDown(500, function(){setTimeout(function(){div.slideUp(500, function(){$(this).remove();wxyAD_lamu_status=0;})}, 1e4)}); div.find('em').click(function(){div.slideUp(500, function(){$(this).remove();wxyAD_lamu_status=0;})}); }); } //顶部固定广告 function wxyAD_fixed(ad){ var div = wxyAD_div(ad); div.insertBefore(wxyAD_first_child).slideDown(300); div.find('em').click(function(){div.slideUp(500, function(){$(this).remove();})}); } //对联广告 function wxyAD_duilian(ad){ if(ad.adtype==3){//两侧对联广告左右分别添加 ad.adtype=4; wxyAD_duilian(ad); ad.adtype=5; wxyAD_duilian(ad); return; } var adtype = ad.adtype==4 ? 'left' : 'right', div = $('.js-wxy-ad-'+adtype), top = ad.top>0 ? ad.top : (div.size() ? div.last().position().top+div.last().height()+10 : 70); //第一条对联广告默认距顶部距离为70像素 div = $('
' + (ad.url ? '' : '') + 'X' + '
'); div.appendTo($('body')); div.find('em').click(function(){div.remove()}); }