ホームページ > WeChat アプレット > WeChatの開発 > WeChatパブリックプラットフォーム開発が金の卵をヒット

WeChatパブリックプラットフォーム開発が金の卵をヒット

高洛峰
リリース: 2017-03-07 10:30:53
オリジナル
1746 人が閲覧しました

金の卵を潰すことは、お祝い、ビジネスプロモーション、テレビエンターテイメントなどの機会に広く使用されており、その楽しさと緊張感がシーンの雰囲気をすぐに盛り上げます。同様に、Golden Egg Smashing を WEB サイトに適用して、オンライン活動を行うこともできます。この記事では、jQueryとPHPを使用して、WEB金の卵叩きプログラムの実装方法を説明します。

WeChatパブリックプラットフォーム開発が金の卵をヒット

準備

金の卵の写真、砕いた卵の写真、砕いた花の写真、ハンマーの写真など、小道具(素材)、つまり関連する写真を準備する必要があります。

HTML

このページで表示したいのは、金の卵を割るプラットフォームです。プラットフォームには 1、2、3 の番号が付けられた 3 つの金の卵とハンマーがあります。次の HTML コードを構築します:

<p class="egg"> 
    <ul class="eggList"> 
        <p class="hammer" id="hammer">锤子</p> 
        <p class="resultTip" id="resultTip"><b id="result"></b></p> 
        <li><span>1</span><sup></sup></li> 
        <li><span>2</span><sup></sup></li> 
        <li><span>3</span><sup></sup></li> 
    </ul> </p>
ログイン後にコピー

上記のコードでは、.hammer はハンマーを配置するために使用され、.resultTip は卵を割った後の結果、つまり賞品があるかどうかを表示するために使用されます。 3 つの金の卵をそれぞれ配置するために 3 つの li が使用され、エフェクトを装飾するために CSS が使用されます。

CSS

.egg{width:660px; height:400px; margin:50px auto 20px auto;} 
.egg ul li{z-index:999;} 
.eggList{padding-top:110px;position:relative;width:660px;} 
.eggList li{float:left;background:url(images/egg_1.png) no-repeat bottom;width:158px; 
height:187px;cursor:pointer;position:relative;margin-left:35px;} 
.eggList li span{position:absolute; width:30px; height:60px; left:68px; top:64px; color:#ff0; 
 font-size:42px; font-weight:bold} 
.eggList li.curr{background:url(images/egg_2.png) no-repeat bottom;cursor:default;z-index:300;} 
.eggList li.curr sup{position:absolute;background:url(images/img-4.png) no-repeat;width:232px;  
height:181px;top:-36px;left:-34px;z-index:800;} 
.hammer{background:url(images/img-6.png) no-repeat;width:74px;height:87px;position:absolute;  
text-indent:-9999px;z-index:150;left:168px;top:100px;} 
.resultTip{position:absolute; background:#ffc ;width:148px;padding:6px;z-index:500;top:200px;  
left:10px; color:#f60; text-align:center;overflow:hidden;display:none;z-index:500;} 
.resultTip b{font-size:14px;line-height:24px;}
ログイン後にコピー


上記のコードによると、ページ上に完全な金の卵を割るシーンが表示されます。お客様がまだ IE6 を使用している場合は、透明度が必要になる場合があります。 png画像は加工されていますが、この記事では加工しておりません。

jQuery

次に、jQuery コードを使用して、金の卵を砕き、卵を割り、勝利結果を表示するプロセス全体を実装します。もちろん、古いルールでは、たとえば jQuery で実装されたプログラムでは、最初に jQuery ライブラリ ファイルをロードする必要があります。

まず、マウスを金の卵に向かってスライドさせると、金の卵を砕くのに使用されるハンマーは金の卵の右上にのみ配置され、position() を使用して配置できます。

$(".eggList li").hover(function() { 
    var posL = $(this).position().left + $(this).width(); 
    $("#hammer").show().css(&#39;left&#39;, posL); 
})
ログイン後にコピー

次に、金の卵をクリックします。これは、ハンマーを振って金の卵を叩くプロセスです。まず、click の金の卵の数字を非表示にしてから、カスタム関数 EggClick() を呼び出します。

$(".eggList li").click(function() { 
    $(this).children("span").hide(); 
    eggClick($(this)); 
});
ログイン後にコピー

最後に、カスタム関数eggClick()で、jQueryの$.getJSONメソッドを使用して、バックグラウンドのdata.phpにajaxリクエストを送信します。バックグラウンドのPHPプログラムが賞の分配を処理し、受賞結果を返します。 。 animate() を使用してハンマーを叩くアニメーションを実現し、ハンマーの上と左の位置を変更することで簡単なアニメーション効果を実現します。ハンマーが砕かれた後、金の卵のスタイルが .curr に変わり、金の花が飛び散ります。 、その後、当選結果が達成されると、当選するかどうかは運と背景賞によって設定された当選確率に依存することが示されています。金の卵を割る関数 EggClick() のコードを見てみましょう

function eggClick(obj) { 
    var _this = obj; 
    $.getJSON("data.php",function(res){//ajax请求 
        _this.unbind(&#39;click&#39;); //解除click 
        $(".hammer").css({"top":_this.position().top-55,"left":_this.position().left+185}); 
        $(".hammer").animate({//锤子动画 
            "top":_this.position().top-25, 
            "left":_this.position().left+125 
            },30,function(){ 
                _this.addClass("curr"); //蛋碎效果 
                _this.find("sup").show(); //金花四溅 
                $(".hammer").hide();//隐藏锤子 
                $(&#39;.resultTip&#39;).css({display:&#39;block&#39;,top:&#39;100px&#39;,left:_this.position(). 
                left+45,opacity:0}) 
                .animate({top: &#39;50px&#39;,opacity:1},300,function(){//中奖结果动画 
                    if(res.msg==1){//返回结果 
                        $("#result").html("恭喜,您中得"+res.prize+"!"); 
                    }else{ 
                        $("#result").html("很遗憾,您没能中奖!"); 
                    } 
                });     
            } 
        ); 
    }); 
}
ログイン後にコピー

金の卵を割るプログラムをウェブサイトにより正確に統合するには、卵を割る前にメンバーシップ ID を確認できます。卵の数を制限する、当選後の連絡先を残すなどの対応はサイトのニーズに応じて行います。

PHP

data.phpは、フロントエンドから送信されたajaxリクエストを処理し、設定された当選確率に従って当選結果をjson形式で出力します。 <code class="php"> <br/><br/>

$prize_arr = array( 
    &#39;0&#39; => array(&#39;id&#39;=>1,&#39;prize&#39;=>&#39;平板电脑&#39;,&#39;v&#39;=>3), 
    &#39;1&#39; => array(&#39;id&#39;=>2,&#39;prize&#39;=>&#39;数码相机&#39;,&#39;v&#39;=>5), 
    &#39;2&#39; => array(&#39;id&#39;=>3,&#39;prize&#39;=>&#39;音箱设备&#39;,&#39;v&#39;=>10), 
    &#39;3&#39; => array(&#39;id&#39;=>4,&#39;prize&#39;=>&#39;4G优盘&#39;,&#39;v&#39;=>12), 
    &#39;4&#39; => array(&#39;id&#39;=>5,&#39;prize&#39;=>&#39;Q币10元&#39;,&#39;v&#39;=>20), 
    &#39;5&#39; => array(&#39;id&#39;=>6,&#39;prize&#39;=>&#39;下次没准就能中哦&#39;,&#39;v&#39;=>50), ); 
 
foreach ($prize_arr as $key => $val) { 
    $arr[$val[&#39;id&#39;]] = $val[&#39;v&#39;]; 
} 
 
$rid = getRand($arr); //根据概率获取奖项id $res[&#39;msg&#39;] = ($rid==6)?0:1; //如果为0则没中 $res[&#39;prize&#39;] = $prize_arr[$rid-1][&#39;prize&#39;]; //中奖项 echo json_encode($res); 
 
//计算概率 function getRand($proArr) { 
    $result = &#39;&#39;; 
 
    //概率数组的总概率精度 
    $proSum = array_sum($proArr); 
 
    //概率数组循环 
    foreach ($proArr as $key => $proCur) { 
        $randNum = mt_rand(1, $proSum); 
        if ($randNum <= $proCur) { 
            $result = $key; 
            break; 
        } else { 
            $proSum -= $proCur; 
        } 
    } 
    unset ($proArr); 
 
    return $result; 
}
ログイン後にコピー


確率を設定すると、タブレットに当たる確率は 3%、当たらない確率は 50% であることがわかります。 。


WeChat パブリック プラットフォームの開発と金の卵の破壊に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

🎜
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート