0

YouTube リンクが関連付けられているプロジェクト ページがあります。ファンシーボックスがクリックすると、ファンシーボックスウィンドウでリンクが開きます。私のリンクは、#youtube1 などのカウンターで識別されます。ループするたびにJavaScriptをやり直す必要がないように、これを行うより良い方法はありますか?

<?php mysql_data_seek($projects,0); $counter = 1; while ($row_projects = mysql_fetch_assoc($projects)) { ?>
<div class="img<?php $count=$counter++; echo $count; ?>" style="height:212px; overflow:hidden;">
    <h3><?php echo $row_projects['project_name']; ?></h3>
    <p id="project-content"><?php echo stripslashes($row_projects['project_content']); ?><br><?php if(!empty($row_projects['youtube_link'])) { echo '<a id="youtube'.$count.'" href="'.$row_projects['youtube_link'].'" title="'.$row_projects['project_name'].'" class="link1">View project</a>'; } ?>
    <script>
    $(document).ready(function() { 
        $("<?php echo '#youtube'.$count ?>").click(function() {
            $.fancybox({
                    'padding' : 0,
                    'autoScale' : false,
                    'transitionIn' : 'fade',
                    'transitionOut' : 'fade',
                    'title' : this.title,
                    'width' : 680,
                    'height' : 495,
                    'href' : this.href.replace(new RegExp("watch\\?v=", "i"), 'v/'),
                    'type' : 'swf',
                    'swf' : { 'wmode' : 'transparent', 'allowfullscreen' : 'true' }
            });
            return false;
        });
    });
    </script>
    </p>
    <p class="font1"><span><?php echo $row_projects['project_bold']; ?></a></span></p>
</div>
<?php } ?>
4

1 に答える 1

0

セレクターを汎用にします。

$("a.link1").live('click', function() {

その後、ループ内で関数を繰り返す必要はありません。

于 2012-10-25T22:47:31.160 に答える