Commit d7b0c884c72287f39208b8206ac3c9665a6461ef

Authored by 潘钊
1 parent 77e3dba7

线调布局v1

src/main/resources/static/pages/control/line/css/lineControl.css 0 → 100644
  1 +.z-depth-1 {
  2 + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0
  3 + rgba(0, 0, 0, 0.12);
  4 +}
  5 +
  6 +.z-depth-2 {
  7 + box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0
  8 + rgba(0, 0, 0, 0.19);
  9 +}
  10 +
  11 +.z-depth-3 {
  12 + box-shadow: 0 12px 15px 0 rgba(0, 0, 0, 0.24), 0 17px 50px 0
  13 + rgba(0, 0, 0, 0.19);
  14 +}
  15 +
  16 +.nav-tabs > li > a, .nav-pills > li > a{
  17 + font-size: 16px;
  18 +}
  19 +
  20 +/* 自定义阈值 width 大于1200px */
  21 +@media ( min-width : 1200px) {
  22 + /* 非全屏 */
  23 + .card_wrap {
  24 + overflow-x: auto;
  25 + }
  26 + .card_wrap .col-lg-2 {
  27 + width: 23%
  28 + }
  29 + .card_wrap .col-lg-8 {
  30 + width: 53%;
  31 + margin: 0 8px 0 8px;
  32 + }
  33 +
  34 + /* 全屏模式下 */
  35 + .portlet-fullscreen .card_wrap {
  36 + min-width: 1910px;
  37 + }
  38 + .portlet-fullscreen .card_wrap .col-lg-2 {
  39 + width: 21%
  40 + }
  41 + .portlet-fullscreen .card_wrap .col-lg-8 {
  42 + width: 57.2684321%;
  43 + margin: 0 7px 0 7px;
  44 + }
  45 +}
  46 +
  47 +.card_wrap{
  48 + height: 263px;
  49 + text-align: center;
  50 +}
  51 +
  52 +.card_wrap .line_chart{
  53 + height: 100%;
  54 + padding: 0;
  55 +}
  56 +
  57 +.card_wrap .line_chart .top{
  58 + height: 69px;
  59 + background: #337AB7;
  60 + border-radius: 5px 5px 0 0 !important;
  61 +}
  62 +
  63 +.card_wrap .col-lg-2{
  64 + height: 100%;
  65 + overflow: hidden;
  66 + padding: 0;
  67 + border: 1px solid #337ab7;
  68 +}
  69 +
  70 +.card_wrap .col-lg-2 .table-advance thead tr th {
  71 + font-size: 15px;
  72 + font-family: 微软雅黑;
  73 +}
  74 +
  75 +
  76 +.card_wrap .col-lg-2 .table>tbody>tr>td,
  77 +.card_wrap .col-lg-2 .table>thead>tr>th{
  78 + padding: 7px;
  79 +}
  80 +
  81 +.card_wrap .col-lg-2 .table td{
  82 + font-size: 16px;
  83 + font-family: 微软雅黑
  84 +}
  85 +
  86 +.card_wrap .col-lg-2.down{
  87 + border: 1px solid #F36A5A;
  88 +}
  89 +
  90 +.card_wrap .col-lg-2 .title{
  91 + line-height: 40px;
  92 + color: #fafafa;
  93 + background: #337ab7;
  94 + font-size: 16px;
  95 + text-align: left;
  96 + font-weight: bold;
  97 + padding-left: 10px;
  98 +}
  99 +
  100 +.card_wrap .col-lg-2 .title .help_text{
  101 + float: right;
  102 + margin-right: 15px;
  103 + color: #fafcfb;
  104 + font-weight: 400;
  105 + font-size: 14px;
  106 +}
  107 +
  108 +.card_wrap .col-lg-2.down .title{
  109 + background: #f36a5a;
  110 +}
  111 +
  112 +.card_wrap .col-lg-2 .title .badge{
  113 + border-radius: 12px !important;
  114 + padding: 0;
  115 + height: 24px;
  116 + font-size: 14px !important;
  117 + margin-left: 5px;
  118 + font-weight: bold;
  119 + border: 1px solid white;
  120 + background: #337AB7;
  121 + width: 35px;
  122 + line-height: 24px;
  123 + text-indent: -1px;
  124 +}
  125 +
  126 +.card_wrap .col-lg-2.down .title .badge{
  127 + background: #f36a5a;
  128 +}
  129 +
  130 +.row.card_wrap .table-advance {
  131 + margin-bottom: 0px !important;
  132 +}
  133 +
  134 +/* 上下行滚动条颜色 */
  135 +.row.card_wrap .slimScrollBar{
  136 + background: #337ab7 !important;
  137 + border-radius: 5px !important;
  138 +}
  139 +
  140 +.row.card_wrap .col-lg-2.down .slimScrollBar{
  141 + background: #f36a5a !important;
  142 +}
  143 +
  144 +.row.card_wrap {
  145 + margin-left: 0;
  146 + margin-right: 0;
  147 + overflow-y: hidden;
  148 + background: #eee;
  149 +}
  150 +
  151 +/* svg 样式 */
  152 +.line_chart svg{
  153 + border: 1px solid #fdfdfd;
  154 + background: #fdfdfd;
  155 + margin-left: 0px;
  156 + margin-right: 0px;
  157 + box-shadow: 0 8px 17px 0 #999, 0 6px 20px 0 #666;
  158 + padding: 10px 0 10px 0;
  159 + height: calc(100% - 70px);
  160 +}
  161 +.station_circle{
  162 + fill: #e7ecf1;
  163 + r: 7.6;
  164 +}
  165 +
  166 +.up_station_circle_inside{
  167 + fill: #337ab7;
  168 + r: 5;
  169 +}
  170 +
  171 +.down_station_circle_inside{
  172 + fill: #F36A5A;
  173 + r: 5;
  174 +}
  175 +
  176 +.station_text{
  177 + writing-mode: vertical-lr;
  178 + letter-spacing: -2.6px;
  179 +}
  180 +
  181 +.station_text.end{
  182 + fill: none;
  183 + stroke: #F36A5A;
  184 +}
  185 +
  186 +.station_text.start{
  187 + stroke: #337AB7;
  188 + fill: none;
  189 +}
  190 +
  191 +.up_path{
  192 + stroke-width: 7.4px;
  193 + stroke: #337AB7;
  194 +}
  195 +.down_path{
  196 + stroke-width: 7.4px;
  197 + stroke: #f36a5a;
  198 +}
  199 +.up-circle-none{
  200 + fill: #337AB7;
  201 + r: 3;
  202 +}
  203 +
  204 +.down-circle-none{
  205 + fill: #F36A5A;
  206 + r: 3;
  207 +}
0 \ No newline at end of file 208 \ No newline at end of file
src/main/resources/static/pages/control/line/index.html
1 -aaa  
2 \ No newline at end of file 1 \ No newline at end of file
  2 +<link href="css/lineControl.css" rel="stylesheet" type="text/css" />
  3 +<div class="portlet light portlet-fullscreen" style="transition: all .5s ease;padding: 12px 5px 15px 5px;">
  4 + <div class="portlet-title" style="padding: 20px 20px 7px 20px;">
  5 + <div class="caption" >
  6 + <i class="fa fa-life-ring" style="font-size: 22px"></i> <span
  7 + class="caption-subject bold" style="font-size: 24px;">线路调度系统</span>
  8 + </div>
  9 + <div class="actions">
  10 + <a class="btn btn-circle btn-icon-only btn-default fullscreen on" href="javascript:;" data-original-title="" title=""> </a>
  11 + </div>
  12 + </div>
  13 + <div class="portlet-body">
  14 + <ul class="nav nav-tabs" style="margin-left: 15px;margin-bottom: 20px;">
  15 + <li class="active"><a href="#tab_home" data-toggle="tab"
  16 + aria-expanded="true"> 主页 </a></li>
  17 + <li class=""><a href="#tab_map" data-toggle="tab"
  18 + aria-expanded="false"> 地图监控 </a></li>
  19 +
  20 +
  21 + <li class=""><a href="#tab_85" data-toggle="tab"
  22 + aria-expanded="false"> 85路 </a></li>
  23 +
  24 +
  25 + <li class=""><a href="#tab_50" data-toggle="tab"
  26 + aria-expanded="false"> 浦东50路 </a></li>
  27 + </ul>
  28 +
  29 + <div class="tab-content">
  30 + <div class="tab-pane fade active in z-depth-1" id="tab_home" >
  31 + <div class="row card_wrap" >
  32 + <div class="col-lg-2 z-depth-2" >
  33 +
  34 + <div class="title">
  35 + 发往川沙客运站方向
  36 + <span class="badge" > 13 </span>
  37 + <span class="help_text">上行</span>
  38 + </div>
  39 + <table class="table table-striped table-bordered table-advance">
  40 + <colgroup>
  41 + <col style="width: 79px;" />
  42 + <col style="width: 78px;" />
  43 + <col style="width: 75px;" />
  44 + <col style="width: 57px;" />
  45 + <col style="width: 60px;" />
  46 + </colgroup>
  47 + <thead>
  48 + <tr>
  49 + <th> 车辆编码 </th>
  50 + <th> 终点距离 </th>
  51 + <th> 终点时间 </th>
  52 + <th> 指令 </th>
  53 + <th> 速度 </th>
  54 + <th> 路牌 </th>
  55 + </tr>
  56 + </thead>
  57 + </table>
  58 + <div class="table_wrap">
  59 + <table class="table table-striped table-bordered table-advance table-hover">
  60 + <colgroup>
  61 + <col style="width: 79px;" />
  62 + <col style="width: 78px;" />
  63 + <col style="width: 75px;" />
  64 + <col style="width: 57px;" />
  65 + <col style="width: 60px;" />
  66 + </colgroup>
  67 + <tbody>
  68 + <tr>
  69 + <td> W9H108 </td>
  70 + <td> 13.143 </td>
  71 + <td> 82 </td>
  72 + <td>
  73 + <span class="label label-sm label-success"> 发送 </span>
  74 + </td>
  75 + <td> 16.00 </td>
  76 + <td> 4 </td>
  77 + </tr>
  78 + <tr>
  79 + <td> W9H108 </td>
  80 + <td> 13.143 </td>
  81 + <td> 82 </td>
  82 + <td>
  83 + <span class="label label-sm label-success"> 发送 </span>
  84 + </td>
  85 + <td> 16.00 </td>
  86 + <td> 4 </td>
  87 + </tr>
  88 + <tr>
  89 + <td> W9H108 </td>
  90 + <td> 13.14 </td>
  91 + <td> 82 </td>
  92 + <td>
  93 + <span class="label label-sm label-success"> 发送 </span>
  94 + </td>
  95 + <td> 16.00 </td>
  96 + <td> 4 </td>
  97 + </tr>
  98 + <tr>
  99 + <td> W9H108 </td>
  100 + <td> 13.14 </td>
  101 + <td> 82 </td>
  102 + <td>
  103 + <span class="label label-sm label-success"> 发送 </span>
  104 + </td>
  105 + <td> 16.00 </td>
  106 + <td> 4 </td>
  107 + </tr>
  108 + <tr>
  109 + <td> W9H108 </td>
  110 + <td> 13.14 </td>
  111 + <td> 82 </td>
  112 + <td>
  113 + <span class="label label-sm label-success"> 发送 </span>
  114 + </td>
  115 + <td> 16.00 </td>
  116 + <td> 4 </td>
  117 + </tr>
  118 + <tr>
  119 + <td> W9H108 </td>
  120 + <td> 13.14 </td>
  121 + <td> 82 </td>
  122 + <td>
  123 + <span class="label label-sm label-success"> 发送 </span>
  124 + </td>
  125 + <td> 16.00 </td>
  126 + <td> 4 </td>
  127 + </tr>
  128 + </tbody>
  129 + </table>
  130 + </div>
  131 + </div>
  132 + <div class="col-lg-8 line_chart " >
  133 + <div class="top">
  134 + <div class="center">
  135 + 778路当日计划配车:9<br>
  136 + 在运营:9&nbsp;场内:0
  137 + </div>
  138 + </div>
  139 + </div>
  140 + <div class="col-lg-2 z-depth-2 down" >
  141 +
  142 + <div class="title" >
  143 + 发往南公交枢纽站方向
  144 + <span class="badge" > 7 </span>
  145 + <span class="help_text">下行</span>
  146 + </div>
  147 + <table class="table table-striped table-bordered table-advance">
  148 + <colgroup>
  149 + <col style="width: 79px;" />
  150 + <col style="width: 78px;" />
  151 + <col style="width: 75px;" />
  152 + <col style="width: 57px;" />
  153 + <col style="width: 60px;" />
  154 + </colgroup>
  155 + <thead>
  156 + <tr>
  157 + <th> 车辆编码 </th>
  158 + <th> 终点距离 </th>
  159 + <th> 终点时间 </th>
  160 + <th> 指令 </th>
  161 + <th> 速度 </th>
  162 + <th> 路牌 </th>
  163 + </tr>
  164 + </thead>
  165 + </table>
  166 + <div class="table_wrap">
  167 + <table class="table table-striped table-bordered table-advance table-hover">
  168 + <colgroup>
  169 + <col style="width: 79px;" />
  170 + <col style="width: 78px;" />
  171 + <col style="width: 75px;" />
  172 + <col style="width: 57px;" />
  173 + <col style="width: 60px;" />
  174 + </colgroup>
  175 + <tbody>
  176 + <tr>
  177 + <td> W9H108 </td>
  178 + <td> 13.143 </td>
  179 + <td> 82 </td>
  180 + <td>
  181 + <span class="label label-sm label-success"> 发送 </span>
  182 + </td>
  183 + <td> 16.00 </td>
  184 + <td> 4 </td>
  185 + </tr>
  186 + <tr>
  187 + <td> W9H108 </td>
  188 + <td> 13.143 </td>
  189 + <td> 82 </td>
  190 + <td>
  191 + <span class="label label-sm label-success"> 发送 </span>
  192 + </td>
  193 + <td> 16.00 </td>
  194 + <td> 4 </td>
  195 + </tr>
  196 + <tr>
  197 + <td> W9H108 </td>
  198 + <td> 13.143 </td>
  199 + <td> 82 </td>
  200 + <td>
  201 + <span class="label label-sm label-success"> 发送 </span>
  202 + </td>
  203 + <td> 16.00 </td>
  204 + <td> 4 </td>
  205 + </tr>
  206 + <tr>
  207 + <td> W9H108 </td>
  208 + <td> 13.14 </td>
  209 + <td> 82 </td>
  210 + <td>
  211 + <span class="label label-sm label-success"> 发送 </span>
  212 + </td>
  213 + <td> 16.00 </td>
  214 + <td> 4 </td>
  215 + </tr>
  216 + <tr>
  217 + <td> W9H108 </td>
  218 + <td> 13.14 </td>
  219 + <td> 82 </td>
  220 + <td>
  221 + <span class="label label-sm label-success"> 发送 </span>
  222 + </td>
  223 + <td> 16.00 </td>
  224 + <td> 4 </td>
  225 + </tr>
  226 + </tbody>
  227 + </table>
  228 + </div>
  229 + </div>
  230 + </div>
  231 + </div>
  232 + <div class="tab-pane fade" id="tab_map">
  233 + 地图
  234 + </div>
  235 + <div class="tab-pane fade" id="tab_85">
  236 + 85路
  237 + </div>
  238 + <div class="tab-pane fade" id="tab_50">
  239 + 浦东50路
  240 + </div>
  241 + </div>
  242 + </div>
  243 +</div>
  244 +
  245 +<script>
  246 +$(function() {
  247 + // 关闭左侧栏
  248 + if (!$('body').hasClass('page-sidebar-closed'))
  249 + $('.menu-toggler.sidebar-toggler').click();
  250 +
  251 +
  252 + $('.card_wrap .table_wrap').slimscroll({
  253 + height: '187px',
  254 + alwaysVisible: true,
  255 + opacity: .8
  256 + });
  257 +
  258 + setTimeout(function(){
  259 + /**
  260 + type: 0 上行站点 1 下行站点 2 上下行共有 3 上下行共有(name不同)
  261 + */
  262 + var stations =
  263 + [{name: '张江地铁站', type:'2', id: 1}
  264 + , {name: '祖冲之路居里路aa', type:'1', id: 2}
  265 + , {name: '祖冲之路高斯路', type:'1', id: 3}
  266 + , {name: '祖冲之路张江路', type:'2', id: 4}
  267 + , {name: '紫薇路张江路', type:'2', id: 5}
  268 + , {name: '祖冲之路广兰路', type:'2', id: 6}
  269 + , {name: '申江路祖冲之路', type:'2', id: 7}
  270 + , {name: '申江路益丰路', type:'2', id: 8}
  271 + , {name: ['盛夏路益江路', '科苑路孙环路'], type:'3', id: [9, 10]}
  272 + , {name: '益江路盛夏路', type:'2', id: 11}
  273 + , {name: '张东路益江路', type:'2', id: 12}
  274 + , {name: '高科中路芳春路', type:'0', id: 13}
  275 + , {name: '唐安路唐镇路', type:'2', id: 14}
  276 + , {name: '唐安路唐兴路', type:'2', id: 15}
  277 + , {name: '创新西路唐安路', type:'2', id: 16}
  278 + , {name: '创新中路齐爱路', type:'2', id: 17}
  279 + , {name: '齐爱路南漕路', type: '2', id: 18}
  280 + , {name: '南漕路唐陆公路', type:'2', id: 19}
  281 + , {name: '蛀虫之路广兰路', type:'2', id: 20}
  282 + , {name: '上海火车站北广场', type:'2', id: 21}];
  283 +
  284 +
  285 + //svg start-----------------
  286 + //顶部距离
  287 + var mTop = 21;
  288 + //上下行之间高度
  289 + var h = 132;
  290 +
  291 + var svg = d3.select('.line_chart').append('svg').attr('width',
  292 + '100%');
  293 +
  294 + var upLine = d3.svg.line().x(function(d) {
  295 + return d.cx;
  296 + }).y(function(d) {
  297 + return mTop;
  298 + });
  299 +
  300 + var downLine = d3.svg.line().x(function(d) {
  301 + return d.cx;
  302 + }).y(function(d) {
  303 + return mTop + h;
  304 + });
  305 +
  306 + var circleClass = function(d, type, c){
  307 + if(d.type == type){
  308 + if(type == 1){
  309 + c = 'up-circle-none';
  310 + }
  311 + else{
  312 + c = 'down-circle-none';
  313 + }
  314 + }
  315 + return c;
  316 + }
  317 +
  318 + //横向比例尺 -根据svg的宽度平均分布站点
  319 + var xScale = d3.scale.linear().domain([ 0, stations.length ])
  320 + .range([ 50, $('.line_chart svg').width() + 5]);
  321 +
  322 + $.each(stations, function(i, d) {
  323 + d.cx = xScale(i);
  324 + });
  325 +
  326 + //上行线条
  327 + svg.append('g').selectAll('path').data(stations.slice(0, stations.length - 1))
  328 + .enter().append('path').attr('d', function(d, i) {
  329 + return upLine([ d, stations[i + 1] ]);
  330 + }).attr('class', 'up_path');
  331 +
  332 + //上行站点 外圆
  333 + svg.append('g').selectAll('circle').data(stations).enter().append('circle')
  334 + .attr('cy', mTop)
  335 + .attr('class', function(d){return circleClass(d, 1, 'station_circle')})
  336 + .attr('cx', function(d, i) {
  337 + return d.cx;
  338 + });
  339 +
  340 + //上行站点 内圆
  341 + svg.append('g').selectAll('circle').data(stations).enter().append('circle')
  342 + .attr('class', function(d){return circleClass(d, 1, 'up_station_circle_inside')})
  343 + .attr('cy', mTop)
  344 + .attr('id', function(d){
  345 + var id = d.id;
  346 + if(d.type == 3){
  347 + id = d.id[0];
  348 + }
  349 + return id;
  350 + })
  351 + .attr('cx', function(d, i) {
  352 + return d.cx;
  353 + });
  354 +
  355 + //下行线条
  356 + svg.append('g').selectAll('path')
  357 + .data(stations.slice(0, stations.length - 1)).enter()
  358 + .append('path').attr('d', function(d, i) {
  359 + return downLine([ d, stations[i + 1] ]);
  360 + }).attr('class', 'down_path');
  361 +
  362 + //下行站点 外圆
  363 + svg.append('g').selectAll('circle').data(stations).enter().append('circle')
  364 + .attr('class', function(d){return circleClass(d, 0, 'station_circle')})
  365 + .attr('cy', mTop + h)
  366 + .attr('cx', function(d, i) {
  367 + return d.cx;
  368 + });
  369 + //下行站点 内圆
  370 + svg.append('g').selectAll('circle').data(stations).enter().append('circle')
  371 + .attr('class', function(d){return circleClass(d, 0, 'down_station_circle_inside')})
  372 + .attr('cy', mTop + h)
  373 + .attr('cx', function(d, i) {
  374 + return d.cx;
  375 + })
  376 + .attr('id', function(d){
  377 + var id = d.id;
  378 + if(d.type == 3){
  379 + id = d.id[1];
  380 + }
  381 + return id;
  382 + });
  383 +
  384 +
  385 + var line = d3.svg.line().x(function(d) {
  386 + return d.attr('cx');
  387 + }).y(function(d) {
  388 + return d.attr('cy');
  389 + });
  390 +
  391 + //左括号
  392 + svg.append('g').append('path')
  393 + .attr('d', function(){
  394 + var up = svg.select('.up_station_circle_inside')
  395 + ,down = svg.select('.down_station_circle_inside');
  396 +
  397 + var upX = parseInt(up.attr('cx')) -5
  398 + , upY = parseInt(up.attr('cy')) + 8
  399 + , downX = parseInt(down.attr('cx')) -5
  400 + , downY = parseInt(down.attr('cy')) -8
  401 + ,arc = (upX - 18);
  402 + return 'M' + upX + ',' + upY + ' C' + arc + ',' + (upY + 5) + ' ' + arc + ',' + (downY - 5) + ' ' + downX + ',' + downY;
  403 + })
  404 + .attr('class', 'up_path')
  405 + .attr('fill', 'none');
  406 +
  407 + //右括号
  408 + svg.append('g').append('path')
  409 + .attr('d', function(){
  410 + var up = $('.up_station_circle_inside:last')
  411 + ,down = $('.down_station_circle_inside:last');
  412 +
  413 + var upX = parseInt(up.attr('cx')) +5
  414 + , upY = parseInt(up.attr('cy')) + 8
  415 + , downX = parseInt(down.attr('cx')) +5
  416 + , downY = parseInt(down.attr('cy')) -8
  417 + ,arc = (upX + 18);
  418 + return 'M' + upX + ',' + upY + ' C' + arc + ',' + (upY + 5) + ' ' + arc + ',' + (downY - 5) + ' ' + downX + ',' + downY;
  419 + })
  420 + .attr('class', 'down_path')
  421 + .attr('fill', 'none');
  422 +
  423 +
  424 +
  425 + //文字
  426 + var getText = function(t){
  427 + if (t.length > 7) {
  428 + return t.substring(0, 7) + '·';
  429 + }
  430 + return t;
  431 + }
  432 + svg.append('g').selectAll('text').data(stations).enter()
  433 + .append('text')
  434 + .attr('y',
  435 + function(d, i) {
  436 + var t;
  437 + if(d.type == 3){
  438 + t = d.name[0];
  439 + }
  440 + else{
  441 + t = d.name;
  442 + }
  443 + return mTop + 5 + (h - (18 * (t.length > 7 ? 7 : t.length))) / 2;
  444 + })
  445 + .attr('class', function(d, i){
  446 + var classz = 'station_text';
  447 + if(i == 0)
  448 + classz += ' start';
  449 + else if(i == stations.length - 1)
  450 + classz += ' end';
  451 + return classz;
  452 + })
  453 + .text(function(d){
  454 + if(d.type == 3){
  455 + $(this).attr('type', 3).attr('downName', d.name[1]);
  456 + return getText(d.name[0]);
  457 + }
  458 + return getText(d.name);
  459 + })
  460 + .attr('x', function(d, i) {
  461 + return xScale(i);
  462 + });
  463 +
  464 +
  465 + //上下行不同名修正
  466 + var lastG = svg.append('g');
  467 + $.each($('.station_text[type=3]'), function(i, obj){
  468 + var x = parseInt($(obj).attr('x'))
  469 + ,diff = 8;
  470 +
  471 + lastG.append('text')
  472 + .attr('y', $(obj).attr('y'))
  473 + .attr('class', 'station_text')
  474 + .attr('x', (x + diff))
  475 + .attr('fill', 'red')
  476 + .text($(obj).attr('downname'));
  477 +
  478 + $(obj).attr('fill', '#337AB7')
  479 + .removeAttr('type').removeAttr('downname')
  480 + .attr('x', x - diff);
  481 + });
  482 + }, 200);
  483 + });
  484 +</script>
3 \ No newline at end of file 485 \ No newline at end of file