- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我需要基于 MySQL 变量创建水槽中水位的动画,我每 5 秒从数据库中获取一次。
值是从 1 到 100,表示 %,所以目标是,根据 % 值,水向上或向下平稳移动。
到目前为止我有这个:
每 5000 毫秒检查一次数据库值的脚本:
$(document).ready(function () {setInterval(function() {$.get("http://www.h2o-info.com/betapage/script_water_detail.php", function (result) {$('#water_detail').html(result);});}, 5000); });
并在 div 中显示结果:
<div id="water_detail"></div>
script_water_detail.php :
<?php
// Connect to MySQL
$link = mysql_connect( 'xxx', 'xxx', 'xxx' );
if ( !$link ) {
die( 'Could not connect: ' . mysql_error() );
}
// Select the data base
$db = mysql_select_db( 'xxx', $link );
if ( !$db ) {
die ( 'Error selecting database \'xxx\' : ' . mysql_error() );
}
$query = mysql_query("select V_00 from SensorLog where S_ID = 1 ORDER BY ID DESC LIMIT 1;");
while ($row = mysql_fetch_array($query))
{
?>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#water_detailed").css({
height:'<?php echo round ($row['V_00'], 0); ?>px'})
});
</script>
<?php
if($row['V_00']<='0'){
print "<div class='water_fill_1'>";
echo round ($row['V_00'], 0);
"</div>";
}
elseif ($row['V_00']<='2'){
print "<div class='water_fill_5'>";
echo round ($row['V_00'], 0);
"</div>";
}else{
print "<div id='water_detailed'></div>";
}
} // End while loop
?>
CSS 属性:
#water_detailed {
background: #e2f4ff; /* Old browsers */
/* IE9 SVG, needs conditional override of 'filter' to 'none' */
background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2UyZjRmZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjQ3JSIgc3RvcC1jb2xvcj0iI2ExZGJmZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMGIwZmMiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
background: -moz-linear-gradient(top, #e2f4ff 0%, #a1dbff 47%, #00b0fc 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#e2f4ff), color-stop(47%,#a1dbff), color-stop(100%,#00b0fc)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #e2f4ff 0%,#a1dbff 47%,#00b0fc 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #e2f4ff 0%,#a1dbff 47%,#00b0fc 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #e2f4ff 0%,#a1dbff 47%,#00b0fc 100%); /* IE10+ */
background: linear-gradient(to bottom, #e2f4ff 0%,#a1dbff 47%,#00b0fc 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e2f4ff', endColorstr='#00b0fc',GradientType=0 ); /* IE6-8 */
width: 280px;
height:0;
float:right;
color: #fff;
text-align: center;
vertical-align: middle;
line-height: 200px;
font-size: 20px;
}
#water_detail {
width: 280px;
margin: -275px 100px 0 0;
float: right;
}
到目前为止,我得到以下结果:
你怎么看,它不能正常工作,我首先说的,它应该在第一页上顺利加载,从底部到顶部关于实际值“填充”,然后根据值向上或向下变化数据库。
也许有人有什么建议。
最佳答案
恕我直言,最简单的解决方案是拥有一个白色的 div
并将一个蓝色的子 div
放入其中,它有 margin-top
来自您的数据库百分比的值
(加上父 div
必须将它的 overflow
设置为 hidden
,而不显示隐藏的水部分)。
看看这个jsfiddle看看它的实际效果。
HTML:
<div id="water_detail">
<div id="water_level"></div>
<div>
CSS:
#water_detail { height:200px; background:white; overflow:hidden; width:250px; }
#water_level { height:200px; background:blue; margin-top:200px;/*initially*/ }
Javascript:
$(document).ready(function () {
setInterval(function() {
$.get("http://www.h2o-info.com/betapage/script_water_detail.php", function (result) {
//$('#water_detail').html(result);
$('#water_level').animate({'margin-top' : (200-result*2)+'px'});
});
},5000);
});
(200-result*2)
只是因为 div 是最大值的“两倍高度”(100% = 200px)。可能更“准确”的方法是这样写:div_width - (result/100 * div_width)
(在这种情况下,0% 的水平导致 margin-top:200px
,50% 导致 margin-top:100px
,等等)
设置一张静态图片作为 child 的背景,而不仅仅是一种颜色
更好的是:制作一个像水一样移动的gif 动画
参见 this jsfiddle水位动画示例(水位随机)。
$(document).ready(function () {
setInterval(function() {
$.get("http://www.h2o-info.com/betapage/script_water_detail.php", function (result) {
$('#water_level').animate( {'margin-top' : (200-result*2)+'px' } );
});
},2000);
});
每 2 秒获取一次水位!将最后的 2000
更改为您喜欢的值,它只是以毫秒为单位的间隔(应用脚本)。
关于php - 基于 mySQL 变量的带有 jquery 的圆柱体中的水动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25133769/
我正在使用 suds 库从网络服务中获取产品列表。 这是一个示例代码: from suds.client import Client url = 'WSDLURL' client = Client(u
如何在我的 spriteKit 应用程序中获取少量液体? 我想要那种液体放在一个容器里,它会被密封在里面,但我希望它能够四处移动。 有没有更好的方法来实现这个?也许没有 SpriteKit 的选项?
我正在尝试使用 Soap API 将一些文件附加到 Jira。我有 python 2.6 并且 SOAPpy 不再工作,所以,我正在使用 suds。除了附件之外一切都很好...我不知道如何重写这段代码
请建议库在 python 中使用 soap。 现在,我正在尝试使用“suds”,我无法理解如何从服务器回复中获取 http header 代码示例: from suds.client import C
我正在使用 OpenGL 开发 3d 游戏,并希望将其带入幻想的方向。具体来说,我正在考虑拥有具有火、水、冰和闪电效果的魔法。我的问题是我不知道如何创建这些效果。有没有关于如何学习这样的东西的资源?
这是我多年来依赖这个网站后的第一个问题! 无论如何,我想完成类似这种效果的事情: http://www.flashmonkey.co.uk/html5/wave-physics/ 但在圆形路径上,而不
我正在尝试解决 SPOJ 中的以下问题: On a rectangular mesh comprising nm fields, nm cuboids were put, one cuboid on
我在 Django(1.3、python 2.7)中使用 Suds 时遇到一些问题。 当我在脚本中使用 suds 检索数据时,它可以工作;但是如果我将**完全相同的**代码放入 django View
我是 的新手WATIR 或 Selenium,但我试图在我的 WATIR 浏览器中添加一个 cookie,如下所示: browser = Watir::Browser.new :firefox
我想知道是否有可能在 Google map 或 Bing Mag 2D/3D map 上恢复地形类型(山脉、森林、水域、平原等...) 。为了根据玩家在现实世界中的位置生成 map !我认为可用 AP
我是一名优秀的程序员,十分优秀!