Skip to content

Instantly share code, notes, and snippets.

@caglarorhan
Last active November 10, 2020 05:00
Show Gist options
  • Save caglarorhan/ef98fa84579520603cb40a28daa97a05 to your computer and use it in GitHub Desktop.
Save caglarorhan/ef98fa84579520603cb40a28daa97a05 to your computer and use it in GitHub Desktop.
WDS_sidebanner box
const WDS_sidebanner = {
lifeHour: 1,
mSecondAnHour: 3600000,
mSecondToNow: new Date().getTime(),
expDateTime (){return this.mSecondToNow + (this.lifeHour * this.mSecondAnHour)},
createSideBanner(sideBannerData) {
const sideBanner = document.createElement('div');
const bannerClosingButton = document.createElement('span');
sideBanner.id = "sidebanner_"+sideBannerData.content_id;
const vw = Math.min(document.documentElement.clientWidth, window.innerWidth);
const left = sideBannerData.position==='left'?vw-parseInt(sideBannerData.width):0;
sideBanner.style.cssText = `width:${sideBannerData.width}; height:${sideBannerData.height}; position:fixed; left:${left+'px'}; top:${sideBannerData.top}; background-color:white; border:1px solid grey;`;
sideBanner.innerHTML = `${sideBannerData.content}`;
document.body.append(sideBanner);
sideBanner.append(bannerClosingButton);
bannerClosingButton.innerHTML = sideBannerData.closing_button_content;
bannerClosingButton.style.cssText="position: absolute; float:right; z-index:1002; cursor:pointer; top:-26px; right:0; cursor:pointer; background-color:white; border:1px solid black;";
bannerClosingButton.addEventListener('click',()=>{
console.log('close triggering')
this.closeSideBanner(sideBanner);
})
},
closeSideBanner(sideBanner){
console.log('must close here');
console.log(sideBanner.style.left);
let animate = window.setInterval(
()=>{
if(parseInt(sideBanner.style.left)<-parseInt(sideBanner.style.width)){
window.localStorage.setItem(sideBanner.id,WDS_sidebanner.expDateTime());
console.log('Tamamen kayboldu')
sideBanner.remove();
clearInterval(animate);
}
sideBanner.style.left = (parseInt(sideBanner.style.left)-20)+'px';
},
20)
},
firstLoad(){
let result = fetch('http://login.wdc.studio/gecici/banner_test_3.php').then(response=>response.json()).then(data=>{
let sideBannerRegisteredDateTime = window.localStorage.getItem("sidebanner_"+data.content_id);
let expired=true;
//window.localStorage.removeItem("sidebanner_"+data.content_id)
if(sideBannerRegisteredDateTime){
expired = parseInt(WDS_sidebanner.mSecondToNow)-parseInt(sideBannerRegisteredDateTime)>0
}
console.log(`
Registered Exp Date: ${sideBannerRegisteredDateTime}
Current Date : ${WDS_sidebanner.mSecondToNow}
Kalan sure: ${Math.abs((WDS_sidebanner.mSecondToNow-sideBannerRegisteredDateTime)/WDS_sidebanner.mSecondAnHour)} saat
Data.show:${data.show}
Expired: ${expired}
Gosterilsin mi: ${(data.show && expired)}
`);
if(data.show && expired){
WDS_sidebanner.createSideBanner(WDS_sidebanner.jsonSample)
}else{
return false;
}
})
},
jsonSample:{
"show":true,
"content_id":"2316-45t8yr34",
"position":"left",
"width":"300px",
"height":"300px",
"top": "400px",
"content":"<div>TEST TEST<\/div>",
"animation":"animasyon adi",
"close_button":true,
"closing_button_content":"<img src=\"https:\/\/www.ecanta.com.tr\/sources\/img\/close.svg\" alt=\"Kapat\" width=\"20\" height=\"20\">"
}
}
window.addEventListener('load', WDS_sidebanner.firstLoad);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment