精华内容
下载资源
问答
  • HTML5实现下雨 水波特效

    千次下载 热门讨论 2012-03-26 20:40:59
    HTML5实现下雨 水波特效
  • html5实现的扁平音乐播放器源码

    千次下载 热门讨论 2014-09-23 14:17:02
    这是一款基于html5实现的扁平音乐播放器源码,是基于jQuery+HTML5实现的扁平风格mp3 player网页音乐播放器。有着很好的视觉效果与播放功能。建议使用支持html5的浏览器如火狐或谷歌运行该源码。
  • HTML5实现获取地理位置信息并定位功能 注:请点击此处进行充电! 前言 这篇文章主要介绍了HTML5实现获取地理位置信息并定位功能,本文讲解了原生HTML5、百度地图、谷歌地图等三种获取理位置信息并定位的方法,需要的...

    HTML5实现获取地理位置信息并定位功能

    前言

         这篇文章主要介绍了HTML5实现获取地理位置信息并定位功能,本文讲解了原生HTML5、百度地图、谷歌地图等三种获取理位置信息并定位的方法,需要的朋友可以参考下。

    HTML5提供了地理位置定位功能(Geolocation API),能确定用户位置,我们可以借助HTML5的该特性开发基于地理位置信息的应用。本文结合实例给大家分享如何使用HTML5,借助百度、谷歌地图接口来获取用户准确的地理位置信息。

    如何使用HTML5地理位置定位功能

          定位功能(Geolocation)是HTML5的新特性,因此只有在支持HTML5的现代浏览器上运行,特别是手持设备如iphone,地理定位更加精确。首先我们要检测用户设备浏览器是否支持地理定位,如果支持则获取地理信息。注意这个特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的,所以我们在访问该应用时会提示是否允许地理定位,我们当然选择允许即可。

     

    function getLocation(){ 
    if (navigator.geolocation){ 
    navigator.geolocation.getCurrentPosition(showPosition,showError); 
    }else{ 
    alert("浏览器不支持地理定位。"); 
    } 
    }

     

          从上面的代码可以知道,如果用户设备支持地理定位,则运行 getCurrentPosition() 方法。如果getCurrentPosition()运行成功,则向参数showPosition中规定的函数返回一个coordinates对象,getCurrentPosition() 方法的第二个参数showError用于处理错误,它规定当获取用户位置失败时运行的函数。

          我们先来看函数showError(),它规定获取用户地理位置失败时的一些错误代码处理方式:

     

    function showError(error){ 
    switch(error.code) { 
    case error.PERMISSION_DENIED: 
    alert("定位失败,用户拒绝请求地理定位"); 
    break; 
    case error.POSITION_UNAVAILABLE: 
    alert("定位失败,位置信息是不可用"); 
    break; 
    case error.TIMEOUT: 
    alert("定位失败,请求获取用户位置超时"); 
    break; 
    case error.UNKNOWN_ERROR: 
    alert("定位失败,定位系统失效"); 
    break; 
    } 
    }

     

    我们再来看函数showPosition(),调用coords的latitude和longitude即可获取到用户的纬度和经度。

     

    function showPosition(position){ 
    var lat = position.coords.latitude; //纬度 
    var lag = position.coords.longitude; //经度 
    alert('纬度:'+lat+',经度:'+lag); 
    }

     

    利用百度地图和谷歌地图接口获取用户地址

          上面我们了解了HTML5的Geolocation可以获取用户的经纬度,那么我们要做的是需要把抽象的经纬度转成可读的有意义的真正的用户地理位置信息。幸运的是百度地图和谷歌地图等提供了这方面的接口,我们只需要将HTML5获取到的经纬度信息传给地图接口,则会返回用户所在的地理位置,包括省市区信息,甚至有街道、门牌号等详细的地理位置信息。

          我们首先在页面定义要展示地理位置的元素,分别定义id#baidu_geo和id#google_geo。我们只需修改关键函数showPosition()。

      先来看百度地图接口交互,我们将经纬度信息通过Ajax方式发送给百度地图接口,接口会返回相应的省市区街道信息。百度地图接口返回的是一串JSON数据,我们可以根据需求将需要的信息展示给#baidu_geo。注意这里用到了jQuery库,需要先加载jQuery库文件。

     

     function showPosition(position){ 
    var latlon = position.coords.latitude+','+position.coords.longitude; 
    //baidu 
    var url = "
    <ahref="http://api.map.baidu.com/geocoder/v2/?ak=C93b5178d7a8ebdb830b9b557abce78b&callback=renderReverse&location="+latlon+"&output=json&pois=0</a>"; 
    $.ajax({ 
    type: "GET", 
    dataType: "jsonp", 
    url: url, 
    beforeSend: function(){ 
    $("#baidu_geo").html('正在定位...'); 
    }, 
    success: function (json) { 
    if(json.status==0){ 
    $("#baidu_geo").html(json.result.formatted_address); 
    } 
    }, 
    error: function (XMLHttpRequest, textStatus, errorThrown) { 
    $("#baidu_geo").html(latlon+"地址位置获取失败"); 
    } 
    }); 
    });

     

          再来看谷歌地图接口交互。同样我们将经纬度信息通过Ajax方式发送给谷歌地图接口,接口会返回相应的省市区街道详细信息。谷歌地图接口返回的也是一串JSON数据,这些JSON数据比百度地图接口返回的要更详细,我们可以根据需求将需要的信息展示给#google_geo。

     

    function showPosition(position){ 
    var latlon = position.coords.latitude+','+position.coords.longitude; 
    //google 
    var url = 'http://maps.google.cn/maps/api/geocode/json?latlng='+latlon+'&language=CN'; 
    $.ajax({ 
    type: "GET", 
    url: url, 
    beforeSend: function(){ 
    $("#google_geo").html('正在定位...'); 
    }, 
    success: function (json) { 
    if(json.status=='OK'){ 
    var results = json.results; 
    $.each(results,function(index,array){ 
    if(index==0){ 
    $("#google_geo").html(array['formatted_address']); 
    } 
    }); 
    } 
    }, 
    error: function (XMLHttpRequest, textStatus, errorThrown) { 
    $("#google_geo").html(latlon+"地址位置获取失败"); 
    } 
    }); 
    }

     

          以上的代码分别将百度地图接口和谷歌地图接口整合到函数showPosition()中,我们可以根据实际情况进行调用。当然这只是一个简单的应用,我们可以根据这个简单的示例开发出很多复杂的应用,建议用手机浏览器访问DEMO演示。

    美文美图

    展开全文
  • HTML5实现类似刮刮卡的功能

    万次阅读 多人点赞 2014-09-10 15:14:03
    HTML5实现类似刮刮卡的功能实现,提供素材等!
    HTML5实现类似刮刮卡的功能

    有这样一个功能,当我们使用微信公众号,发送图片时......此处省略300字!

    注意要点设置:

    1.设置用户缩放:user-scalable=no|yes

    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no" />

    2.禁止拖动:

    document.ontouchmove = function(e){ e.preventDefault(); }; //文档禁止 touchmove事件

    3.禁止弹出选择菜单:
    document.documentElement.style.webkitTouchCallout = "none";

    具体实现代码:
    <!DOCTYPE html>
    <html lang="en">
    
    	<head>
    		<meta charset="UTF-8" />
    		<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" name="viewport" />
    		<title>志玲传说</title>
    		<style type="text/css">
    			body {
    				width: 320px;
    				min-height: 568px;
    				overflow: hidden;
    				margin: 0;
    			}
    			#canvas {
    				background: url(img/lzl.jpg);
    				/*奖品图片*/
    				fixed center center no-repeat;
    				background-size: cover;
    				width: 320px;
    				min-height: 480px;
    				overflow: hidden;
    				position: relative;
    			}
    			.before {
    				background: none !important;
    			}
    			#canvas canvas {
    				cursor: url("img/bird.png") 0 0, auto;
    				/*PC端的手势图片*/
    			}
    		</style>
    	</head>
    
    	<body οncοntextmenu="return false;" onselectstart="return false;">
    		<div id="canvas">
    		</div>
    	</body>
    	<script type="text/javascript">
    		(function() {
    
    			window.onload = function() {
    				/**禁止拖动设置*/
    				document.ontouchmove = function(e) {
    					e.preventDefault();
    				};
    				
    				/**判断浏览器是否支持canvas**/
    
    				try {
    
    					document.createElement('canvas').getContext('2d');
    
    				} catch (e) {
    
    					var addDiv = document.createElement('div');
    
    					alert('您的手机不支持刮刮卡效果哦~!');
    
    				}
    
    			};
    
    			var u = navigator.userAgent,
    				mobile = 'PC';
    
    			if (u.indexOf('iPhone') > -1) mobile = 'iphone';
    
    			if (u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) mobile = 'Android';
    
    			function createCanvas(parent, width, height) {
    
    				var canvas = {};
    
    				canvas.node = document.createElement('canvas');
    
    				canvas.context = canvas.node.getContext('2d');
    				//此处可以自己给标签添加
    				canvas.node.width = width || 320;
    
    				canvas.node.height = height || 480;
    				//给canvas标签添加Id
    				canvas.node.id = 'canvasTag';
    
    				parent.appendChild(canvas.node);
    
    				return canvas;
    
    			}
    
    			function init(container, width, height, fillColor, type) {
    
    				var canvas = createCanvas(container, width, height);
    
    				var ctx = canvas.context;
    
    				// define a custom fillCircle method
    
    				ctx.fillCircle = function(x, y, radius, fillColor) {
    
    					this.fillStyle = fillColor;
    
    					this.beginPath();
    
    					this.moveTo(x, y);
    
    					this.arc(x, y, radius, 0, Math.PI * 2, false);
    
    					this.fill();
    
    				};
    
    				ctx.clearTo = function(fillColor) {
    
    					ctx.fillStyle = fillColor;
    
    					ctx.fillRect(0, 0, width, height);
    
    				};
    
    				ctx.clearTo(fillColor || "#ddd");
    
    				canvas.node.addEventListener(mobile == "PC" ? "mousedown" : "touchstart", function(e) {
    
    					canvas.isDrawing = true;
    
    				}, false);
    
    				canvas.node.addEventListener(mobile == "PC" ? "mouseup" : "touchend", function(e) {
    
    					canvas.isDrawing = false;
    
    				}, false);
    
    				canvas.node.addEventListener(mobile == "PC" ? "mousemove" : "touchmove", function(e) {
    
    					if (!canvas.isDrawing) {
    
    						return;
    
    					}
    
    					if (type == 'Android') {
    
    						var x = e.changedTouches[0].pageX - this.offsetLeft;
    
    						var y = e.changedTouches[0].pageY - this.offsetTop;
    
    					} else {
    
    						var x = e.pageX - this.offsetLeft;
    
    						var y = e.pageY - this.offsetTop;
    
    					}
    
    					var radius = 20;
    
    					var fillColor = '#ff0000';
    
    					ctx.globalCompositeOperation = 'destination-out';
    
    					ctx.fillCircle(x, y, radius, fillColor);
    
    				}, false);
    
    			}
    
    			var container = document.getElementById('canvas');
    
    			init(container, 320, 568, '#696868', mobile);
    
    		})();
    	</script>
    
    </html>

    预览效果图:

    图片素材:








    展开全文
  • html5实现瀑布流效果

    万次阅读 2016-09-07 23:45:37
    html5实现瀑布流效果

           先给出极客学院的一个瀑布流小例程:瀑布流demo。这是个实现瀑布流很典型的demo。这个例子的实现思路是这样的:父级元素container采用相对定位,子元素container使用绝对定位,用函数imgLocation()计算位置坐标的,有兴趣的童鞋可以参考。

           刚好我要做个整脏治乱曝光台的的项目,需要用到瀑布流的效果,也就参照了这个例子。下面记录下我做这个项目时碰到的问题。项目地址:整脏治乱曝光台

    1.图片重叠的问题

           当我参照上述的demo实现瀑布流时,发现多张图片叠加在一起。后来分析发现是由于图片尚未完全加载到DOM,js就执行了高度计算函数,导致图片叠加在一起,为了解决这个问题,就需要在js中判断上一张图片是否已经加载完成,只有上一张图片加载完成,再加载下一张图片。代码如下:

    $(loadingImgId).load(function(){                            // 只有当前图片加载完后,才能计算坐标,否则图片会重叠在一起
                refreshBoxHeightArr(BoxHeightArr, (currentPage - 1)*10 + index);
                $("#players")[0].style.height = Math.max.apply(null, BoxHeightArr) + "px";  // 为了列表元素和加载提示不重合,需要实时更新players的高度
                if (index == (playerList.length - 1)){
                    index++;
                }
                else if (index < (playerList.length - 1)){
                    index++;
                    addList(playerList, index, BoxHeightArr, currentPage);   // 自调用,加载完一张图片后,再加载下一张图片,防止图片重叠
                }
            });


    2.如何实现两列瀑布流?

    两列瀑布流的效果如下图所示:


    html是用js动态加载的,代码如下:

    <span style="white-space:pre">	</span>template =  '<div class="listBox">';
            template += '   <div class="innerBox1">';
            template += '       <div class="innerBox2">';
            template += '           <a href="/wishDriftBottle/html5/detailedWish.html?id={id}">';       // 在detailedWish.html通过id获取心愿信息
            template += '               <div class="idAndName">';
            template += '                   <img class="officialPic officialPic{wishNo}" style="display: none;" src="/wishDriftBottle/imgs/sourceImgs/official.png">';
            template += '                   <span class="idSpan">{wishNo}号 {fullname}</span>';
            template += '                   <img class="status publishing{wishNo}" style="display: none;" src="/wishDriftBottle/imgs/sourceImgs/publishing.png">';
            template += '                   <img class="status finished{wishNo}" style="display: none;" src="/wishDriftBottle/imgs/sourceImgs/finished.png">';
            template += '               </div>';
            template += '               <div class="imgAndContent imgAndContent{wishNo}"> </div>';
            template += '               <div class="vote">';
            template += '                   <span class="helpText">已获得{votesNum}人帮助</span>';
            template += '               </div>';
            template += '           </a>';
            template += '       </div>';
            template += '   </div>';
            template += '</div>';


    CSS代码如下:

    .listBox {
        float: left;
        width: 50%;
        -webkit-transform: translate3d(0,0,0);
    }
    
    .innerBox1{
        padding: 5px;
    }
    
    .innerBox2 {
        border: 5px solid #ffffff;
        border-radius: 5px;
    }
    
    .wishImg, .helpImg{
        width: 100%;
    }

           按照上述动态加载页面的js代码和CSS样式,就可以实现了。

    3.分页之间图片重叠在一起?

              这个问题,请参照我另外一篇博文:html5上划实现分页加载

    4.初始打开页面,多张图片叠在一张图片上,然后展开。给用户感觉闪烁。原因及解决方法。

          经分析,发现是由于将当前图片加载到DOM时,没有立即给这张图片计算绝对定位的坐标,而是采用默认的"float:left;"方式,这样,从第三张图片开始,初始加载时都会显示在一个地方,直到js执行到函数elementLocation(),图片才会显示在正确的位置,因此需要在图片加载到DOM后立即计算当前图片的坐标,这张图片加载完后,再更新瀑布流两列元素的总高度。js代码如下所示。

    /**
     * 添加列表,瀑布流效果,仅支持有图片显示
     * @param BoxHeightArr 瀑布流左右两列的总高度数组
     */
    function addList(playerList, index, BoxHeightArr, currentPage){
        var template = "";
        var html = "";
        if (index < playerList.length){
            template =  '<div class="listBox">';
            template += '   <div class="innerBox1">';
            template += '       <div class="innerBox2">';
            template += '           <a href="/exposure/html5/detailedPage.html?id={id}?ver=0.0.3">';       // 在detailedWish.html通过id获取心愿信息
            template += '               <div class="placeDiv">地点:<span class="place">{place}</span></div>';
            template += '               <div class="imgAndContent imgAndContent{number}">';
            template += '                   <img class="exposureImg" id="exposureImg{number}">';     // 将img元素插入imgAndContent
            template += '                   <div class="shade_1">';
            template += '                       <span class="idSpan">{number}号 {creatorNickname}</span>';
            template += '                   </div>';
            template += '               </div>';
            template += '               <div class="supportAndCreateTime">';
            template += '                   <div>已获得<span class="helpText">{likeCount}</span>人支持</div>';
            template += '                   <span class="createTime">{createTime}</span>';
            template += '               </div>';
            template += '           </a>';
            template += '       </div>';
            template += '   </div>';
            template += '</div>';
    
            var number = parseInt(playerList[index].number);
            playerList[index].number = number;
    
            var timestamp = playerList[index].createTime;           // 时间戳设置为北京时间
            playerList[index].createTime = formatDate(timestamp);
    
            html = template.formatString(playerList[index]);
            $(".players").append(html);
            boxLocation(BoxHeightArr, (currentPage - 1)*10 + index);           // 计算当前列表元素的坐标(绝对定位)
            $("#players")[0].style.height = Math.max.apply(null, BoxHeightArr) + "px";  // 为了列表元素和加载提示不重合,需要实时更新players的高度
    
            var wish = playerList[index];
            var wishImgUrls = wish.urls;
    
            var url = wishImgUrls[0];
            var loadingImgId = "#exposureImg" + number;
            $(loadingImgId).attr('src', imagesPrefix + url + "?imageView2/2/w/300");     // 加载宽度裁剪到300px的图片
            $(loadingImgId).load(function(){                            // 当前图片加载完后,更新BoxHeightArr[]
                refreshBoxHeightArr(BoxHeightArr, (currentPage - 1)*10 + index);
                $("#players")[0].style.height = Math.max.apply(null, BoxHeightArr) + "px";  // 为了列表元素和加载提示不重合,需要实时更新players的高度
                if (index == (playerList.length - 1)){
                    index++;
                }
                else if (index < (playerList.length - 1)){
                    index++;
                    addList(playerList, index, BoxHeightArr, currentPage);   // 自调用,加载完一张图片后,再加载下一张图片,防止图片重叠
                }
            });
        }
    }

    6.页面中有几十张图片以上时,加快页面加载速度的方法

    待补充

    7.players添加样式overflow:auto;的问题

    待补充


    展开全文
  • HTML5实现的可调难度五子棋游戏源码

    千次下载 热门讨论 2014-09-23 21:24:10
    这是一款HTML5实现的五子棋游戏源码,不仅游戏画面非常华丽,而且可以自己设置难度,另外还可以选择人机对战还是人人对战,这款HTML5五子棋游戏绝对称得上HTML5游戏中的极品!另外,对于研究html5游戏开发的朋友来说...
  • html5实现贪吃蛇小游戏

    万次阅读 多人点赞 2017-08-29 10:11:13
    实现技术:h5的canvas+原生js可直接复制,查看效果<!doctype html> <html> <title>html5实现贪吃蛇小游戏 #myCanvas { box-shadow: 0 0 6px #000; } <br/><br/

    实现技术:h5的canvas+原生js

    可直接复制,查看效果

    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>html5实现贪吃蛇小游戏</title>
    <style>
    #myCanvas {
        box-shadow: 0 0 6px #000;
    }
    </style>
    </head>
    <body>
    <br/><br/><br/>
    <input type="button" value="开始游戏" onclick="beginGame();"><br/><br/><br/>
    <canvas id="myCanvas" width="450" height="450"></canvas>
    
    <script>
    var canvas = document.getElementById("myCanvas");
    var ctx = canvas.getContext("2d");
    var w = 15; //格子宽、高
    var snaLen = 6; //初始长度
    var snake = []; //身体长度
    for (var i = 0; i < snaLen; i++) {
        snake[i] = new cell(i, 0, 39);
    }
    var head = snake[snaLen - 1]; //头部
    //初始食物
    var foodx = Math.ceil(Math.random() * 28 + 1);
    var foody = Math.ceil(Math.random() * 28 + 1);
    var food = new Food(foodx, foody);
    //食物
    function Food(x, y) {
        this.x = x;
        this.y = y;
        return this;
    }
    
    //身体
    function cell(x, y, d) {
        this.x = x;
        this.y = y;
        this.d = d;
        return this;
    }
    
    //动作
    function draw() {
        ctx.clearRect(0, 0, 450, 450);
        //画布局
        //      for(var i = 0; i < 30; i++){
        //          ctx.strokeStyle = "#ccc";//线条颜色
        //          ctx.beginPath();
        //          ctx.moveTo(0,i*w);
        //          ctx.lineTo(450,i*w);
    
        //          ctx.moveTo(i*w,0);
        //          ctx.lineTo(i*w,450);
        //          ctx.closePath();
        //          ctx.stroke();
        //      }
        //画蛇身
        for (var j = 0; j < snake.length; j++) {
            ctx.fillStyle = "green";
            if (j == snake.length - 1) {
                ctx.fillStyle = "red";
            }
            ctx.beginPath();
            ctx.rect(snake[j].x * w, snake[j].y * w, w, w);
            ctx.closePath();
            ctx.fill();
            ctx.stroke();
        }
        //出现食物
        drawFood();
        //吃到食物
        if (head.x == food.x && head.y == food.y) {
            initFood();
            food = new Food(foodx, foody);
            //重新出现食物
            drawFood();
    
            //增加蛇的长度  有些小瑕疵,蛇身增长时应该是身体增长,而不是在蛇头上增长
            var newCell = new cell(head.x, head.y, head.d);
            switch (head.d) {
                case 40:
                    newCell.y++;
                    break; //下
                case 39:
                    newCell.x++;
                    break; //右
                case 38:
                    newCell.y--;
                    break; //上
                case 37:
                    newCell.x--;
                    break; //左
            }
            snake[snake.length] = newCell;
            head = newCell;
            //head = 
        }
    }
    //随机初始化食物
    function initFood() {
        foodx = Math.ceil(Math.random() * 28 + 1);
        foody = Math.ceil(Math.random() * 28 + 1);
        for (var i = 0; i < snake.length; i++) {
            if (snake[i].x == foodx && snake[i].y == foody) {
                initFood();
            }
        }
    }
    //画食物
    function drawFood() {
        //绘制食物
        ctx.fillStyle = "orange";
        ctx.beginPath();
        ctx.rect(food.x * w, food.y * w, w, w);
        ctx.closePath();
        ctx.fill();
    }
    draw();
    //监听键盘事件
    document.onkeydown = function(e) {
        //下40 , 右边39,左边37,上38  键盘事件
        var keyCode = e.keyCode;
        if (head.d - keyCode != 2 && head.d - keyCode != -2 && keyCode >= 37 && keyCode <= 40) {
            moveSnake(keyCode);
        }
    }
    //控制蛇移动方向
    function moveSnake(keyCode) {
        var newSnake = [];
        var newCell = new cell(head.x, head.y, head.d); //头
        //身体
        for (var i = 1; i < snake.length; i++) {
            newSnake[i - 1] = snake[i];
        }
        newSnake[snake.length - 1] = newCell;
        newCell.d = keyCode;
        switch (keyCode) {
            case 40:
                newCell.y++;
                break; //下
            case 39:
                newCell.x++;
                break; //右
            case 38:
                newCell.y--;
                break; //上
            case 37:
                newCell.x--;
                break; //左
        }
        snake = newSnake;
        head = snake[snake.length - 1];
        checkDeath();
        draw();
    }
    //游戏规则
    function checkDeath() {
        //超出边框
        if (head.x >= 30 || head.y >= 30 || head.x < 0 || head.y < 0) {
            alert("Game over!");
            window.location.reload();
        }
        //咬到自己
        for (var i = 0; i < snake.length - 1; i++) {
            if (head.x == snake[i].x && head.y == snake[i].y) {
                alert("Game over!");
                window.location.reload();
            }
        }
    }
    //蛇自动走
    function moveClock() {
        moveSnake(head.d);
    }
    var isMove = false;
    function beginGame() {
        !isMove && setInterval(moveClock, 300);
        isMove = true;
    }
    
    </script>
    
    </body>
    </html>
    

    效果图:
    这里写图片描述

    展开全文
  • html5实现的时间轴设计工作记录样式效果源码

    千次下载 热门讨论 2014-09-23 14:43:21
    这是一款基于html5实现的时间轴设计工作记录样式效果源码,是一款时间考勤表样式插件源码。用户可根据自身需求调整显示的文字、颜色及时间等的样式和数值。使之更具个性化。建议使用火狐或谷歌浏览器查看该源码。...
  • html5实现的3D立体俄罗斯方块游戏

    千次下载 热门讨论 2014-09-25 14:25:07
    这是一款基于html5实现的3D俄罗斯方块游戏源码,可实现3d俄罗斯方块网页游戏效果。游戏中的俄罗斯方块底部可以旋转,并有方块落点预览效果。整体立体感强,游戏可玩性高。是一款非常游戏的游戏源码。建议使用火狐或...
  • html5实现的双击选中文字高亮显示效果源码

    千次下载 热门讨论 2014-09-23 14:38:57
    这是一款基于html5实现的双击选中文字高亮显示效果源码,可实现鼠标双击段落文字高亮显示遮罩层效果。显示遮罩层后鼠标单击即可消除遮罩层恢复原状。遮罩层的显示与消除过度效果平滑自然。是一款非常优秀的源码。...
  • Html5实现自己的分页加载

    万次阅读 2016-04-27 16:55:22
    Html5实现自己的分页加载
  • 这是一款由百度JS小组提供的HTML5版切水果游戏,这款基于HTML5实现的网页版切水果游戏虽然和原版的切水果游戏相比仍有美中不足之处,但也算有声有色,画面效果也十分炫目华丽。
  • HTML5实现图片淡入淡出效果

    万次阅读 2017-06-23 17:05:59
    HTML5实现图片淡入淡出效果<!doctype html> <html lang="en"> , initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no"> <meta name='apple-mobile-
  • html5实现滚动文字

    千次阅读 2017-08-16 02:34:21
    html5实现滚动文字 1 2 3 4 div class="custom-notice">  i class="icon-notice">i>  marquee class="noticeText ng-binding" direction="left" ...
  • HTML5实现3D效果实景地图,是一款3D实景地图,截取了实景的房屋大厦,并且可以旋转展示,具有非常强的立体效果!
  • html5实现录音、拍摄功能

    万次阅读 热门讨论 2015-06-10 17:09:35
    以下是一个关于用 html5 实现的一个录音与拍摄功能的例子: html: js文件: (function (window) { //兼容 window.URL = window.URL || window.webkitURL; navigator....
  • HTML5实现图片拖动,旋转,放大,拉伸等特效

    千次下载 热门讨论 2013-11-04 09:41:22
    HTML5实现图片拖动,旋转,放大,拉伸等特效 效果详情参考http://www.xwcms.net/webAnnexImages/fileAnnex/20131031/91857/index.html
  • HTML5 实现摄像头实时监控

    万次阅读 2019-04-02 16:32:21
    1.HTML5+VLC实现网络串流进行实时监控,对带宽要求较高。 VLC下载链接:https://www.videolan.org/ 2.VLC安装 选择自己所需要的版本 选取VLC存放位置 3.安装完成 打开VLC ...
  • 这篇文章主要介绍了HTML5实现获取地理位置信息并定位功能,本文讲解了原生HTML5、百度地图、谷歌地图等三种获取理位置信息并定位的方法,需要的朋友可以参考下
  • 3D虚拟试衣系统的使用场景主要是在线电商或数字营销,为品牌服装、服饰、饰品添加高端3D虚拟购物动效,提升用户...踏得网基于网页/HTML5独家研发了一套在线3D虚拟试衣间系统。纯网页版,跨平台支持,无需用户安装插件。
  • html5 实现画虚线

    千次阅读 2015-06-12 15:40:38
    html5已经出来好长一段时间了,只是最近才开始接触到它,html5提供了很多内置的函数可以实现很多功能,比如 画线段、画矩形、画圆、画弧等。但是html5没有提供画虚线的功能,如果想实现在canvas上画曲线就要发费一点...
  • HTML5怎么能实现在线录音,调用手机话筒录音?有没有具体的demo参考
  • Golang + HTML5 实现多文件上传

    千次阅读 2014-03-17 17:48:58
    Golang + HTML5 实现多文件上传 今天刚好有点时间,就想试试Golang的多文件上传,下面是实现的代码。 package main //多文件上传 //作者:LvanNeo //邮箱:lvan_software@foxmail.com //日期:2014-04-17 //...
  • jQuery+Html5实现唯美表白动画代码

    千次阅读 2014-04-15 15:16:58
    jQuery+Html5实现唯美表白动画代码,jQuery,Html5,动画效果,表白代码,jQuery+Html5实现唯美表白动画代码是一款动画效果很棒,程序员表白必备,[url=http://www.huiyi8.com/]素材中国[/url]网. [img]...
  • html5实现图片自适应手机屏幕页面的css html5写手机页面,读取图片,如果图片大于手机屏幕的宽度,就显示100%屏幕,如果小于,就显示原图。 CSS的max-width就能实现了,不要设置img的宽和高 img{max-width:100...
  • HTML5实现音频和视频嵌入

    万次阅读 多人点赞 2017-05-07 23:56:26
    HTML5未出来之前,在线的音频和视频都是借助Flash或者第三方工具实现的,现在HTML5也支持了这方面的功能。在一个支持HTML5的浏览器中,不需要安装任何插件就能播放音频和视频。原生的支持音频和视频,为HTML5注入了...
  • 这是网上找到的HTML5实现图片拖动,旋转,放大,拉伸等特效 详情链接http://www.xwcms.net/webAnnexImages/fileAnnex/20131031/91857/index.html 请问各位大神,怎么样把修改后的图片样式保存下来,使得刷新后不会变...
  • HTML5实现歌词同步

    万次阅读 2015-06-12 14:27:00
    开篇HTML5的最强大之处莫过于对媒体文件的处理,如利用一个简单的vedio标签就可以实现视频播放。类似地,在HTML5中也有对应的处理音频文件的标签,那就是<audio>.标签在线Demoaudio标签实现一个audio标签非常简单,...
  • HTML5实现的经典游戏超级玛丽源码

    千次下载 2014-09-25 14:20:09
    这是一款老外利用HTML5技术实现的让超级玛丽可以在网页上跑的游戏源码,虽说HTML5版的超级玛丽没有原版的功能强大,但是如果你有兴趣,完全可以把它写的更加完善。话说HTML5真的很强大,HTML5游戏开发更是常有惊人之...
  • HTML5实现首页动态视频背景

    万次阅读 多人点赞 2019-09-25 14:46:05
    你想实现这种动态视频作为背景的首页吗?来,一起来学习,本文将带你一起实现H5动态视频背景; 首先网上找一段清晰的视频下载下来,最好是MP4格式的; 下载好了之后我们新建一个html文件来写代码: html代码: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,517,889
精华内容 1,007,155
关键字:

html5实现