680 行
35 KiB
HTML
可执行文件
680 行
35 KiB
HTML
可执行文件
<!DOCTYPE html>
|
|
<html>
|
|
<!--[1.1.60]-->
|
|
<head>
|
|
<meta charset="utf-8"/>
|
|
<title>{$logoinfo.name}代理商管理系统</title>
|
|
<link href="{$logoinfo['icourl']}" type="image/x-icon" rel="shortcut icon">
|
|
<link rel="stylesheet" href="/Public/paper/css/css/font-awesome.min.css">
|
|
<link rel="stylesheet" type="text/css" href="__PUBLIC__/Retail/css/index.css"/>
|
|
<link rel="stylesheet" href="__PUBLIC__/vue/element-ui.css">
|
|
<script src="__PUBLIC__/jquery/js/jquery-3.2.1.min.js"></script>
|
|
<link rel="stylesheet" href="__PUBLIC__/css/common-upload.css">
|
|
<link rel="stylesheet" type="text/css" href="__PUBLIC__/layui/css/layui.css"/>
|
|
<script type="text/javascript" src="__PUBLIC__/layui/layui.js"></script>
|
|
<style>
|
|
.left_logo > img {
|
|
width: 140px;
|
|
height: auto;
|
|
}
|
|
|
|
/*定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸*/
|
|
::-webkit-scrollbar {
|
|
width: 8px;
|
|
height: 8px;
|
|
background-color: #F5F5F5;
|
|
}
|
|
|
|
/*定义滚动条轨道 内阴影+圆角*/
|
|
::-webkit-scrollbar-track {
|
|
-webkit-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
|
|
border-radius: 10px;
|
|
background-color: #F5F5F5;
|
|
}
|
|
|
|
/*定义滑块 内阴影+圆角*/
|
|
::-webkit-scrollbar-thumb {
|
|
border-radius: 10px;
|
|
-webkit-box-shadow: inset 0 0 3px rgba(0, 0, 0, .3);
|
|
background-color: #3f4c73;
|
|
}
|
|
|
|
.left_item > .fa {
|
|
font-size: 20px;
|
|
display: inline-block;
|
|
margin-right: 20px;
|
|
color: white;
|
|
width: 30px;
|
|
}
|
|
|
|
.left_logo {
|
|
width: 100%;
|
|
height: auto;
|
|
box-sizing: border-box;
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 10px;
|
|
}
|
|
|
|
.code-box {
|
|
width: 200px;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
.code-big-box {
|
|
position: relative;
|
|
}
|
|
|
|
.code-box > img {
|
|
margin: 0 auto;
|
|
}
|
|
|
|
.code-timeout {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 80px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
flex-direction: column;
|
|
background-color: rgba(255, 255, 255, 0.8);
|
|
width: 200px;
|
|
height: 200px;
|
|
}
|
|
|
|
.refresh {
|
|
display: inline-block;
|
|
height: 32px;
|
|
line-height: 32px;
|
|
margin-top: 20px;
|
|
padding: 0 18px;
|
|
background-color: #4394ff;
|
|
color: #fff;
|
|
white-space: nowrap;
|
|
text-align: center;
|
|
font-size: 14px;
|
|
border: none;
|
|
border-radius: 2px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.item-suc-one-1 {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.item-suc-done-img {
|
|
height: 25px;
|
|
width: 25px;
|
|
margin-right: 5px;
|
|
}
|
|
|
|
.tips {
|
|
text-align: center;
|
|
font-size: 12px;
|
|
color: #999;
|
|
line-height: 30px;
|
|
}
|
|
|
|
.left_name {
|
|
width: 109px;
|
|
text-align: right;
|
|
font-size: 14px;
|
|
line-height: 56px;
|
|
color: #666;
|
|
margin-right: 20px;
|
|
}
|
|
|
|
.binding {
|
|
color: white;
|
|
line-height: 65px;
|
|
margin-right: 20px;
|
|
font-size: 12px;
|
|
display: block;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.center {
|
|
text-align: center;
|
|
}
|
|
|
|
.list {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
margin: 10px 0;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<include file="./Application/Admin/View/Upload/index.html"/>
|
|
<div id="app">
|
|
<div class="box">
|
|
<div class="left">
|
|
<div class="left_logo">
|
|
<img src="{$logoinfo['stageurl']}"
|
|
onerror="this.onerror=null,this.src='__PUBLIC__/Retail/images/zhihuilogo4.png'"
|
|
style="margin-right: 0px"/>
|
|
</div>
|
|
<div class="left_item" data-src="{:U('index/home')}" style="background-color: rgba(255,255,255,0.2);">
|
|
<i class="fa fa-home"></i>
|
|
<span>首页</span>
|
|
</div>
|
|
<!--<if condition="$types eq 2">-->
|
|
|
|
|
|
<!--</if>-->
|
|
<div class="left_item" class="in_inner" data-src="{:U('merchant/index')}">
|
|
<!--<img src="__PUBLIC__/retail/images/s01.png"/>-->
|
|
<i class="fa fa-user-circle-o"></i>
|
|
<span>商户管理</span>
|
|
</div>
|
|
<if condition="$types eq 2">
|
|
<div class="left_item">
|
|
<i class="fa fa-telegram"></i>
|
|
<span>分润管理</span>
|
|
</div>
|
|
<div class="item_next">
|
|
<a href="javascript:;" class="in_inner" data-src="{:U('Agent/Continentflow/index')}">
|
|
间连分润
|
|
</a>
|
|
<a href="javascript:;" class="in_inner" data-src="{:U('Agent/Continentflow/cashManager')}">
|
|
提现管理
|
|
</a>
|
|
</div>
|
|
</if>
|
|
|
|
<!--<div class="left_item" class="in_inner" data-src="{:U('User/index')}">-->
|
|
<!--<!–<img src="__PUBLIC__/retail/images/s01.png"/>–>-->
|
|
<!--<i class="fa fa-user-circle-o"></i>-->
|
|
<!--<span>用户管理</span>-->
|
|
<!--</div>-->
|
|
<div class="left_item" class="in_inner" data-src="{:U('Recharge/index')}">
|
|
<!--<img src="__PUBLIC__/retail/images/s01.png"/>-->
|
|
<i class="fa fa-money"></i>
|
|
<span>消费记录</span>
|
|
</div>
|
|
<div class="left_item" class="in_inner" data-src="{:U('Plug/index')}">
|
|
<i class="fa fa-cogs"></i>
|
|
<span>插件商城</span>
|
|
</div>
|
|
<!--<div class="left_item" class="in_inner" data-src="{:U('Plug/Plug/index')}" style="margin-top: 50px;padding:0px;background-color: rgba(255, 255, 255,0.2)!important;">
|
|
<div style="background-color: rgba(255, 255, 255,0.2)!important;width: 100%;height: 100%;padding:0px 10px;color:white;display: flex;align-items: center;">
|
|
<img style="width: 20px;margin-right: 20px" src="data:image/png;base64,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" alt="">
|
|
<span>应用中心</span>
|
|
</div>
|
|
</div>-->
|
|
</div>
|
|
<div class="right">
|
|
<div class="right_title" style="position: relative">
|
|
<div style="flex:1;color:white;line-height: 65px;margin-left: 30px;display: block">
|
|
<span>代理商管理系统</span>
|
|
</div>
|
|
<div class="binding">
|
|
<img src="__PUBLIC__/user/images/p1.png" width="15px" style="margin-top: -5px">
|
|
<a href="javascript:;" class="in_inner in_inners" data-src="{:U('Super/App/index')}"
|
|
style="display: inline;padding-left: 0;color: white;text-decoration: none;">软件下载</a>
|
|
</div>
|
|
<div class="binding">
|
|
<i class="fa fa-question-circle"></i> <span><a href="{:U('Super/Helps/MetInfo')}?types=1"
|
|
target="_blank" style="color:white;">帮助中心</a></span>
|
|
</div>
|
|
<div class="binding">
|
|
<i class="fa fa-thermometer-full"></i>
|
|
<span>
|
|
<a @click="showResetPassword=true" style="color:white;">修改密码</a>
|
|
</span>
|
|
</div>
|
|
<if condition="$openScan eq 1">
|
|
<div class="binding" :style="isBinding?'':'display:none;'">
|
|
<i class="fa fa-comments"></i>
|
|
<span>
|
|
<a @click="relieveWx" style="color:white;">解绑微信</a>
|
|
</span>
|
|
</div>
|
|
<div class="binding" :style="isBinding?'display:none;':''">
|
|
<i class="fa fa-comments"></i>
|
|
<span>
|
|
<a @click="bindingWx" style="color:white;">绑定微信</a>
|
|
</span>
|
|
</div>
|
|
</if>
|
|
<!-- 微信操作 -->
|
|
<div class="right_title_nickname" @click="showSetUserAvatar=true">
|
|
<img id="user_avatar" src="{$user['image']}"
|
|
onerror="this.onerror=null,this.src='__PUBLIC__/Retail/images/s11.png'"/>
|
|
<span>{$user['name']}</span>
|
|
</div>
|
|
<div class="right_title_quit" @click="toClose">
|
|
<img src="__PUBLIC__/Retail/images/quit.png"/>
|
|
</div>
|
|
</div>
|
|
<div class="right_content" style="display: flex">
|
|
<!--右侧内容区-->
|
|
<iframe id="myiframe" width="100%" height="100%" style="flex: 1;" src="{:U('Index/home')}"
|
|
frameborder="0" data-id="/Home/Index" scrolling="auto"></iframe>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<el-dialog title="修改密码" :visible.sync="showResetPassword" :width="'400px'" :close-on-click-modal="false">
|
|
<div style="padding: 0 20px">
|
|
<el-form :model="passwordForm" :rules="rules" ref="passwordForm" label-width="68px">
|
|
<el-form-item label="旧密码" required prop="oldPass">
|
|
<el-input type="password" v-model="passwordForm.oldPass" auto-complete="off"
|
|
placeholder="请输入旧密码"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="新密码" required prop="newPass">
|
|
<el-input type="password" v-model="passwordForm.newPass" auto-complete="off"
|
|
placeholder="请输入新密码"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="新密码" required prop="newPass1">
|
|
<el-input type="password" v-model="passwordForm.newPass1" auto-complete="off"
|
|
placeholder="再次输入新密码"></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
</div>
|
|
<div slot="footer" class="dialog-footer">
|
|
<el-button @click="showResetPassword = false">取 消</el-button>
|
|
<el-button type="primary" @click="sureResetPassword('passwordForm')">确 定</el-button>
|
|
</div>
|
|
</el-dialog>
|
|
<el-dialog title="设置头像" :visible.sync="showSetUserAvatar" :width="'400px'">
|
|
<form id="avatar">
|
|
<div class="list">
|
|
<label class="left_name">头像图片</label>
|
|
<label class="file_label">
|
|
<input type="hidden" name="logo_id"/>
|
|
<input @change="changeImage" type="file" name="logo" placeholder="选择图片" accept="image/png,image/jpeg"/>
|
|
<img id="head_url" style="max-width: 200px" :src="avatar"
|
|
onerror="this.onerror=null;this.src='__PUBLIC__/paper/images/wx_add.png'">
|
|
</label>
|
|
</div>
|
|
<div class="center">
|
|
<el-button plain size="small" @click="selectImage('logo')"
|
|
>图库图片
|
|
<el-tooltip class="item" effect="dark" content="点击图片选择本地图片,点击按钮选择图库图片" placement="top-start">
|
|
<i class="el-icon-question"></i>
|
|
</el-tooltip>
|
|
</el-button>
|
|
</div>
|
|
<p class="tips">建议大小100*100</p>
|
|
</form>
|
|
<div class="center" style="margin-top: 50px">
|
|
<el-button type="primary" size="medium" @click="setUserAvatar">保存</el-button>
|
|
</div>
|
|
</el-dialog>
|
|
<el-dialog title="绑定微信" :visible.sync="showUserAuthCode" :width="'400px'" :before-close="closeCode">
|
|
<div class="code-big-box">
|
|
<div class="code-box" v-qrcode="{'value':code}"></div>
|
|
<div class="code-timeout" v-if="isTimeOut">
|
|
<span style="font-weight: bold;color: rgb(68, 68, 68);">二维码过期</span>
|
|
<div class="refresh" @click="refresh">点击刷新</div>
|
|
</div>
|
|
<div class="code-timeout" v-if="isScanCode">
|
|
<div class="item-suc-one-1">
|
|
<img src="__PUBLIC__/login/images/success.png" class="item-suc-done-img">
|
|
<span style="font-weight: bold;">成功扫码,等待确认</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</el-dialog>
|
|
<el-dialog title="选择图片" :visible.sync="showSelectImage" custom-class="select-image-el-dialog"
|
|
:top="'10px'">
|
|
<template-select-image :can-select-num="1" @selectfile="selectFile"></template-select-image>
|
|
</el-dialog>
|
|
</div>
|
|
</body>
|
|
<script src="__PUBLIC__/vue/element-ui.js"></script>
|
|
<script type="text/javascript" src="__PUBLIC__/receipt/Qrcode.js"></script>
|
|
<script type="text/javascript">
|
|
layui.use("layer", function () {
|
|
var layer = layui.layer;
|
|
Vue.directive('qrcode', function (el, binding) {
|
|
el.innerHTML = "";
|
|
var text = binding.value.value;
|
|
if (text) {
|
|
new QRCode(el, {
|
|
text: text,
|
|
width: 200,
|
|
height: 200,
|
|
colorDark: "#000000",
|
|
colorLight: "#ffffff",
|
|
correctLevel: QRCode.CorrectLevel.H
|
|
});
|
|
}
|
|
})
|
|
|
|
var app = new Vue({
|
|
el: "#app",
|
|
data: {
|
|
avatar: "{$user['image']}",
|
|
showUserAuthCode: false,
|
|
code: '',
|
|
isTimeOut: false,
|
|
isScanCode: false,
|
|
scan_type: false,
|
|
showSetUserAvatar: false,
|
|
showSelectImage: false,
|
|
actFileName: '',
|
|
isBinding: "{$user['openid_type']}" == 1 ? true : false,
|
|
check_scan: null,
|
|
check_auth: null,
|
|
showResetPassword: false,
|
|
passwordForm: {
|
|
oldPass: '',
|
|
newPass: '',
|
|
newPass1: '',
|
|
},
|
|
rules: {
|
|
oldPass: [{message: '请输入原密码', required: true, trigger: 'blur'}],
|
|
newPass: [{message: '请输入新密码', required: true, trigger: 'blur'}],
|
|
newPass1: [{message: '再次输入新密码', required: true, trigger: 'blur'}],
|
|
}
|
|
},
|
|
methods: {
|
|
newCheckPwd: function (pwd) {
|
|
var reg = /^[a-zA-Z0-9.+*-/<>?!@#$%^&*():''"";]{1,}$/;
|
|
if (!reg.test(pwd)) {
|
|
return false;
|
|
}
|
|
return true;
|
|
},
|
|
sureResetPassword: function (formName) {
|
|
var that = this;
|
|
this.$refs[formName].validate((valid) => {
|
|
if (valid) {
|
|
if (that.passwordForm.newPass != that.passwordForm.newPass) {
|
|
that.$message({
|
|
type: 'error',
|
|
message: '新密码不一致',
|
|
duration: 1000
|
|
});
|
|
return;
|
|
} else if (!that.newCheckPwd(that.passwordForm.newPass)) {
|
|
that.$message({
|
|
type: 'error',
|
|
message: '只支持数字字母及字符.+*-/<>?!@#$%^&*():\'\'"";',
|
|
duration: 3000
|
|
});
|
|
return;
|
|
}
|
|
$.post("{:U('doChangePwd')}", {
|
|
oldPass: this.passwordForm.oldPass,
|
|
newPass: this.passwordForm.newPass,
|
|
newPass1: this.passwordForm.newPass1
|
|
}, function (res) {
|
|
if (res.status == 1) {
|
|
that.$message({
|
|
type: 'success',
|
|
message: res.msg,
|
|
duration: 1000,
|
|
onClose: function () {
|
|
that.showResetPassword = false;
|
|
that.passwordForm = {
|
|
oldPass: '',
|
|
newPass: '',
|
|
newPass1: '',
|
|
};
|
|
}
|
|
});
|
|
} else {
|
|
that.$message({
|
|
type: 'error',
|
|
message: res.msg,
|
|
duration: 1000
|
|
});
|
|
}
|
|
})
|
|
} else {
|
|
return false;
|
|
}
|
|
});
|
|
},
|
|
closeAvatar: function () {
|
|
this.showSetUserAvatar = false;
|
|
},
|
|
refresh: function () {
|
|
//刷新token
|
|
this.getTokenUrl();
|
|
},
|
|
closeCode: function () {
|
|
//关闭授权
|
|
clearTimeout(this.check_scan);
|
|
clearTimeout(this.check_auth);
|
|
this.showUserAuthCode = false;
|
|
},
|
|
selectFile: function (item) {
|
|
//选择文件
|
|
console.log(item);
|
|
this.showSelectImage = false;
|
|
if (item.length) {
|
|
$("input[name='" + this.actFileName + "']").val('');
|
|
$("input[name='" + this.actFileName + "_id']").val(item[0].id);
|
|
this.avatar = item[0].path;
|
|
}
|
|
},
|
|
selectImage: function (actName) {
|
|
//将选择图片
|
|
this.actFileName = actName;
|
|
this.showSelectImage = true;
|
|
},
|
|
changeImage:function () {
|
|
var that = this;
|
|
if(window.event.target.files.length){
|
|
var imgObj = window.event.target.files[0];
|
|
var imgType = ['image/jpeg', 'image/jpg', 'image/png', 'image/gif'];
|
|
if(jQuery.inArray(imgObj.type, imgType) != -1){
|
|
var reader = new FileReader();
|
|
reader.readAsDataURL(imgObj);
|
|
reader.onload = function () {
|
|
that.avatar = this.result;
|
|
}
|
|
}
|
|
}
|
|
},
|
|
setUserAvatar: function () {
|
|
//设置头像
|
|
if (!$("input[name='logo']").val() && !$("input[name='logo_id']").val()) {
|
|
this.$message({
|
|
type: 'warning',
|
|
message: '您未修改头像',
|
|
duration: 1000
|
|
});
|
|
return;
|
|
}
|
|
var fd = new FormData(document.getElementById('avatar'));
|
|
var that = this;
|
|
this.$loading({
|
|
lock: true,
|
|
text: '保存中,请等待',
|
|
spinner: 'el-icon-loading',
|
|
background: 'rgba(255, 255, 255, 0.7)'
|
|
});
|
|
$.ajax({
|
|
url: "{:U('setUserImage')}",
|
|
type: "post",
|
|
data: fd,
|
|
processData: false, // jQuery不要去处理发送的数据
|
|
contentType: false, // jQuery不要去设置Content-Type请求头
|
|
success: function (res) {
|
|
that.$loading().close();
|
|
if (res.status == 1) {
|
|
$('#user_avatar').attr('src', $('#head_url').attr('src'));
|
|
that.$message({
|
|
type: 'success',
|
|
message: res.msg,
|
|
duration: 1000,
|
|
onClose: function () {
|
|
$("input[name='logo']").val('');
|
|
that.showSetUserAvatar = false;
|
|
var x = window.document.getElementById("myiframe");
|
|
var right = (x.contentWindow || x.contentDocument);
|
|
if(right.document){
|
|
right = right.document;
|
|
}
|
|
right.querySelector(".logoImg").src = $('#head_url').attr('src');
|
|
}
|
|
});
|
|
} else {
|
|
that.$message({
|
|
type: 'error',
|
|
message: res.msg,
|
|
duration: 1000
|
|
});
|
|
}
|
|
},
|
|
error: function () {
|
|
that.$message({
|
|
type: 'error',
|
|
message: '出错了!',
|
|
duration: 1000
|
|
});
|
|
that.$loading().close();
|
|
}
|
|
})
|
|
},
|
|
relieveWx: function () {
|
|
var that = this;
|
|
$.post("{:U('relieve_wx')}", {}, function (res) {
|
|
if (res.status == 1) {
|
|
that.isBinding = false;
|
|
that.$message({
|
|
type: 'success',
|
|
message: res.msg,
|
|
duration: 1000
|
|
});
|
|
} else {
|
|
that.$message({
|
|
type: 'error',
|
|
message: res.msg,
|
|
duration: 1000
|
|
});
|
|
}
|
|
});
|
|
},
|
|
bindingWx: function () {
|
|
this.getTokenUrl();
|
|
},
|
|
getTokenUrl: function () {
|
|
var that = this;
|
|
$.post("{:U('random')}", {}, function (res) {
|
|
if (res.status == 1) {
|
|
that.code = res.url;
|
|
that.check(res.token, 0);
|
|
that.showUserAuthCode = true;
|
|
that.isTimeOut = false;
|
|
that.isScanCode = false;
|
|
} else {
|
|
that.$message({
|
|
type: 'error',
|
|
message: res.msg,
|
|
duration: 1000
|
|
});
|
|
}
|
|
})
|
|
},
|
|
check: function (token, time) {
|
|
/* 判断二维码过期时间 */
|
|
if (time >= 30) {
|
|
//显示刷新按钮
|
|
this.isTimeOut = true;
|
|
clearTimeout(this.check_scan);
|
|
return false;
|
|
} else {
|
|
var that = this;
|
|
this.check_scan = setTimeout(function () {
|
|
$.post("{:U('check')}", {token: token}, function (res) {
|
|
if (res.status == 1) {
|
|
//显示扫面成功
|
|
clearTimeout(that.check_scan);
|
|
that.isScanCode = true;
|
|
that.auth(token, 0); // 调起授权计时器
|
|
} else {
|
|
time++;
|
|
that.check(token, time);
|
|
}
|
|
})
|
|
}, 1000)
|
|
}
|
|
},
|
|
auth: function (token, time) {
|
|
/* 判断授权过期时间 */
|
|
if (time >= 30) {
|
|
//显示刷新二维码按钮
|
|
clearTimeout(check_auth);
|
|
this.isTimeOut = true;
|
|
this.isScanCode = false;
|
|
return false;
|
|
} else {
|
|
var that = this;
|
|
this.check_auth = setTimeout(function () {
|
|
$.post("{:U('auth')}", {token: token}, function (res) {
|
|
if (res.status == 1) { // 授权
|
|
//用户授权成功
|
|
clearTimeout(that.check_scan);
|
|
that.showUserAuthCode = false;
|
|
that.isBinding = true;
|
|
that.$message({
|
|
message: res.msg,
|
|
type: 'success',
|
|
center: true
|
|
});
|
|
} else if (res.status == 2) { // 取消授权
|
|
that.$message({
|
|
message: res.msg,
|
|
type: 'error',
|
|
center: true
|
|
});
|
|
} else {
|
|
time++;
|
|
that.auth(token, time);
|
|
}
|
|
})
|
|
}, 1000)
|
|
}
|
|
},
|
|
toClose: function () {
|
|
this.$confirm('确定退出登录?', '温馨提示', {
|
|
confirmButtonText: '退出',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
top.window.location.href = "{:U('loginOut')}";
|
|
}).catch(() => {
|
|
});
|
|
}
|
|
}
|
|
})
|
|
|
|
$(".left_item").click(function () {
|
|
$(".left_item").css("background", "");
|
|
$(this).css("background", "rgba(255,255,255,0.2)");
|
|
if ($(this).next(".item_next").css('display') == 'none') {
|
|
$(".item_next").slideUp('fast');
|
|
$(this).next(".item_next").slideToggle('fast');
|
|
} else {
|
|
$(this).next(".item_next").slideToggle('fast');
|
|
}
|
|
})
|
|
$('.in_inner').click(function () {
|
|
$('.left_item').css('background', 'none');
|
|
var src = $(this).attr('data-src');
|
|
$(this).parent('.item_next').prev('.left_item').css("background", "rgba(255, 255, 255,0.2)");
|
|
if ($(this).parent('.item_next').length) {
|
|
$('.item_next>a').css('color', 'white');
|
|
$(this).css('color', '#eb4a57');
|
|
}
|
|
$('#myiframe').attr('src', src);
|
|
})
|
|
|
|
$('.left_item').click(function () {
|
|
var src = $(this).attr('data-src');
|
|
$('#myiframe').attr('src', src);
|
|
})
|
|
})
|
|
|
|
|
|
</script>
|
|
</html>
|