Pulled down a webpage for aff virtual coins, everyone take a look

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Exchange Invitation Link Navigation</title>
    <script src="https://cdn.tailwindcss.com"></script>
    <link href="https://cdn.jsdelivr.net/npm/[email protected]/css/font-awesome.min.css" rel="stylesheet">
    <script>
        tailwind.config = {
            theme: {
                extend: {
                    colors: {
                        primary: '#3b82f6',
                        secondary: '#10b981',
                        dark: '#1e293b',
                        light: '#f8fafc'
                    },
                    fontFamily: {
                        sans: ['Inter', 'system-ui', 'sans-serif']
                    },
                    animation: {
                        'pulse-slow': 'pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite',
                    }
                }
            }
        }
    </script>
    <style type="text/tailwindcss">
        @layer utilities {
            .card-hover {
                @apply transition-all duration-300 hover:shadow-lg hover:-translate-y-1;
            }
            .btn-primary {
                @apply bg-primary text-white px-6 py-2 rounded-lg font-medium hover:bg-blue-600 transition-colors duration-300 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-opacity-50;
            }
            .gradient-bg {
                @apply bg-gradient-to-br from-blue-500 via-purple-500 to-pink-500;
            }
            .text-gradient {
                @apply bg-clip-text text-transparent bg-gradient-to-r from-blue-500 to-purple-600;
            }
        }
    </style>
</head>
<body class="bg-gray-50 min-h-screen">
    <!-- Navigation Bar -->
    <nav class="bg-white shadow-md sticky top-0 z-50">
        <div class="container mx-auto px-4 py-3 flex justify-between items-center">
            <div class="flex items-center space-x-2">
                <i class="fa fa-link text-primary text-2xl"></i>
                <h1 class="text-xl font-bold text-gray-800">Exchange Invitation Navigation</h1>
            </div>
            <div class="hidden md:flex space-x-6">
                <a href="#all" class="text-gray-600 hover:text-primary transition-colors">All</a>
                <a href="#popular" class="text-gray-600 hover:text-primary transition-colors">Popular</a>
                <a href="#new" class="text-gray-600 hover:text-primary transition-colors">New Launches</a>
            </div>
            <div class="relative">
                <input type="text" id="search-input" placeholder="Search exchanges..." class="pl-10 pr-4 py-2 rounded-full border border-gray-300 focus:outline-none focus:ring-2 focus:ring-primary focus:border-transparent">
                <i class="fa fa-search absolute left-3 top-3 text-gray-400"></i>
            </div>
        </div>
    </nav>

    <!-- Hero Section -->
    <section class="gradient-bg text-white py-16">
        <div class="container mx-auto px-4 text-center">
            <h2 class="text-4xl font-bold mb-4">Discover the Best Exchange Registration Links</h2>
            <p class="text-xl mb-8 max-w-2xl mx-auto">Register through our invitation links and enjoy exclusive discounts and commission benefits</p>
            <div class="flex justify-center space-x-4">
                <button class="bg-white text-primary px-8 py-3 rounded-lg font-bold hover:bg-gray-100 transition-colors">
                    <i class="fa fa-gift mr-2"></i>View All Offers
                </button>
                <button class="bg-transparent border-2 border-white text-white px-8 py-3 rounded-lg font-bold hover:bg-white hover:bg-opacity-10 transition-colors">
                    <i class="fa fa-info-circle mr-2"></i>How to Use
                </button>
            </div>
        </div>
    </section>

    <!-- Statistics -->
    <section class="py-10 bg-white">
        <div class="container mx-auto px-4">
            <div class="grid grid-cols-2 md:grid-cols-4 gap-6 text-center">
                <div class="p-6 rounded-lg bg-blue-50">
                    <div class="text-3xl font-bold text-primary mb-2">12+</div>
                    <div class="text-gray-600">Partner Exchanges</div>
                </div>
                <div class="p-6 rounded-lg bg-green-50">
                    <div class="text-3xl font-bold text-green-600 mb-2">80%</div>
                    <div class="text-gray-600">Maximum Commission Rate</div>
                </div>
                <div class="p-6 rounded-lg bg-purple-50">
                    <div class="text-3xl font-bold text-purple-600 mb-2">100k+</div>
                    <div class="text-gray-600">Active Users</div>
                </div>
                <div class="p-6 rounded-lg bg-pink-50">
                    <div class="text-3xl font-bold text-pink-600 mb-2">24/7</div>
                    <div class="text-gray-600">Continuous Updates</div>
                </div>
            </div>
        </div>
    </section>

    <!-- Exchange Cards Section -->
    <section id="all" class="py-12">
        <div class="container mx-auto px-4">
            <h3 class="text-2xl font-bold mb-8 text-center">All Exchanges</h3>
            <div id="exchange-grid" class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
                <!-- Exchange cards will be generated dynamically via JavaScript -->
            </div>
        </div>
    </section>

    <!-- Popular Exchanges -->
    <section id="popular" class="py-12 bg-gray-50">
        <div class="container mx-auto px-4">
            <h3 class="text-2xl font-bold mb-8 text-center">Popular Exchanges</h3>
            <div id="popular-grid" class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
                <!-- Popular exchange cards will be generated dynamically via JavaScript -->
            </div>
        </div>
    </section>

    <!-- User Guide -->
    <section class="py-12 bg-white">
        <div class="container mx-auto px-4">
            <h3 class="text-2xl font-bold mb-8 text-center">User Guide</h3>
            <div class="grid grid-cols-1 md:grid-cols-3 gap-8">
                <div class="text-center p-6 rounded-lg bg-gray-50">
                    <div class="w-16 h-16 bg-blue-100 rounded-full flex items-center justify-center mx-auto mb-4">
                        <i class="fa fa-search text-primary text-2xl"></i>
                    </div>
                    <h4 class="text-xl font-semibold mb-2">1. Choose an Exchange</h4>
                    <p class="text-gray-600">Browse our list of exchanges and select the platform that interests you</p>
                </div>
                <div class="text-center p-6 rounded-lg bg-gray-50">
                    <div class="w-16 h-16 bg-green-100 rounded-full flex items-center justify-center mx-auto mb-4">
                        <i class="fa fa-external-link text-green-600 text-2xl"></i>
                    </div>
                    <h4 class="text-xl font-semibold mb-2">2. Click the Invitation Link</h4>
                    <p class="text-gray-600">Click the "Register Now" button to access the official website through our invitation link</p>
                </div>
                <div class="text-center p-6 rounded-lg bg-gray-50">
                    <div class="w-16 h-16 bg-purple-100 rounded-full flex items-center justify-center mx-auto mb-4">
                        <i class="fa fa-gift text-purple-600 text-2xl"></i>
                    </div>
                    <h4 class="text-xl font-semibold mb-2">3. Enjoy the Benefits</h4>
                    <p class="text-gray-600">Complete registration and start trading to automatically enjoy exclusive offers we provide</p>
                </div>
            </div>
        </div>
    </section>

    <!-- FAQ -->
    <section class="py-12 bg-gray-50">
        <div class="container mx-auto px-4">
            <h3 class="text-2xl font-bold mb-8 text-center">Frequently Asked Questions</h3>
            <div class="max-w-3xl mx-auto space-y-4">
                <div class="bg-white p-6 rounded-lg shadow">
                    <button class="faq-question w-full text-left flex justify-between items-center">
                        <span class="font-semibold">What are the benefits of registering through an invitation link?</span>
                        <i class="fa fa-chevron-down text-gray-500"></i>
                    </button>
                    <div class="faq-answer mt-4 text-gray-600 hidden">
                        By registering through our invitation links, you can enjoy trading fee discounts, commission rewards, and eligibility for exclusive activities. Different exchanges have different offer policies; specific details should follow official announcements from each exchange.
                    </div>
                </div>
                <div class="bg-white p-6 rounded-lg shadow">
                    <button class="faq-question w-full text-left flex justify-between items-center">
                        <span class="font-semibold">How do I confirm that I've received the benefits?</span>
                        <i class="fa fa-chevron-down text-gray-500"></i>
                    </button>
                    <div class="faq-answer mt-4 text-gray-600 hidden">
                        Typically, benefits are automatically applied to your account after registration through an invitation link. You can view the benefits you've received in the exchange's "Promotions" or "Rewards Center" section. If you have questions, please contact the exchange's customer service.
                    </div>
                </div>
                <div class="bg-white p-6 rounded-lg shadow">
                    <button class="faq-question w-full text-left flex justify-between items-center">
                        <span class="font-semibold">Do invitation links have an expiration date?</span>
                        <i class="fa fa-chevron-down text-gray-500"></i>
                    </button>
                    <div class="faq-answer mt-4 text-gray-600 hidden">
                        Most invitation links don't have a specific expiration date, but some exchanges may periodically update their referral policies. We continuously update the links on our page to ensure you always have access to the latest offers.
                    </div>
                </div>
            </div>
        </div>
    </section>

    <!-- Footer -->
    <footer class="bg-dark text-white py-12">
        <div class="container mx-auto px-4">
            <div class="grid grid-cols-1 md:grid-cols-3 gap-8">
                <div>
                    <h4 class="text-xl font-bold mb-4">About Us</h4>
                    <p class="text-gray-400">We are committed to providing cryptocurrency enthusiasts with the most comprehensive exchange invitation links and discount information to help you save costs on trading.</p>
                </div>
                <div>
                    <h4 class="text-xl font-bold mb-4">Quick Links</h4>
                    <ul class="space-y-2 text-gray-400">
                        <li><a href="#all" class="hover:text-white transition-colors">All Exchanges</a></li>
                        <li><a href="#popular" class="hover:text-white transition-colors">Popular Exchanges</a></li>
                        <li><a href="#" class="hover:text-white transition-colors">User Guide</a></li>
                        <li><a href="#" class="hover:text-white transition-colors">FAQ</a></li>
                    </ul>
                </div>
                <div>
                    <h4 class="text-xl font-bold mb-4">Contact Us</h4>
                    <ul class="space-y-2 text-gray-400">
                        <li><i class="fa fa-envelope mr-2"></i>[email protected]</li>
                        <li><i class="fa fa-telegram mr-2"></i>@q1648567300</li>
                        <li><i class="fa fa-twitter mr-2"></i>@q1648567300</li>
                    </ul>
                </div>
            </div>
            <div class="border-t border-gray-700 mt-8 pt-8 text-center text-gray-400">
                <p>&copy; 2013-2026 Exchange Invitation Navigation. All rights reserved.</p>
                <p class="mt-2">Disclaimer: This website provides information for reference only and does not constitute investment advice. Cryptocurrency trading involves risks; please invest cautiously.</p>
            </div>
        </div>
    </footer>

    <!-- Back to Top Button -->
    <button id="back-to-top" class="fixed bottom-6 right-6 bg-primary text-white w-12 h-12 rounded-full flex items-center justify-center shadow-lg opacity-0 invisible transition-all duration-300">
        <i class="fa fa-arrow-up"></i>
    </button>

    <script>
        // Exchange data
        const exchanges = [
            {
                id: 1,
                name: "OKX",
                logo: "https://p26-doubao-search-sign.byteimg.com/labis/image/2d48eca0ba6a8bd1346b6d7dc94b7367~tplv-be4g95zd3a-image.jpeg?lk3s=feb11e32&x-expires=1790055945&x-signature=DtLe0y1i049daAwbgX%2FqtoFm8f0%3D",
                url: "https://www.xqmnobxky.com/join/7682422",
                discount: "Register and get 40 USDT",
                description: "A leading global cryptocurrency exchange supporting spot, contract, and margin trading",
                rating: 4.8,
                users: "10M+",
                category: "popular",
                color: "blue"
            },
            {
                id: 2,
                name: "Binance",
                logo: "https://p26-doubao-search-sign.byteimg.com/labis/image/5b45be810f82915c21b2d303fb1cbea1~tplv-be4g95zd3a-image.jpeg?lk3s=feb11e32&x-expires=1790055945&x-signature=ZzZFAQ8CenIaDK4dE9e83X3CKY8%3D",
                url: "https://www.bmwweb.systems/join?ref=42775467",
                discount: "Up to 50% commission on trading fees",
                description: "The world's largest cryptocurrency exchange offering multiple trading products",
                rating: 4.9,
                users: "20M+",
                category: "popular",
                color: "yellow"
            },
            {
                id: 3,
                name: "Gate.io",
                logo: "https://p26-doubao-search-sign.byteimg.com/labis/image/30c8a4721b3fbf184d19f635a9a6a0bd~tplv-be4g95zd3a-image.jpeg?lk3s=feb11e32&x-expires=1790055945&x-signature=W4y1TOcIcNsPSF5dNHfAjrzLM4o%3D",
                url: "https://app.csrqoa.com/signup?ref=VVUSUF0NUQ",
                discount: "New users receive 100 USDT gift package",
                description: "A long-established cryptocurrency exchange supporting multiple digital asset trading",
                rating: 4.6,
                users: "5M+",
                category: "popular",
                color: "blue"
            },
            {
                id: 4,
                name: "MEXC",
                logo: "https://p26-doubao-search-sign.byteimg.com/labis/image/b75ff9f6541a1d3bb1ea20e0f648e113~tplv-be4g95zd3a-image.jpeg?lk3s=feb11e32&x-expires=1790055945&x-signature=ACru6bTLaBeuOdUDaiMLkbcIqBg%3D",
                url: "https://promote.mexc.com/a/ff7YshwW",
                discount: "Register and receive 50 USDT trial credit",
                description: "An innovative cryptocurrency exchange providing spot and contract trading",
                rating: 4.5,
                users: "3M+",
                category: "new",
                color: "green"
            },
            {
                id: 5,
                name: "Weex",
                logo: "https://p3-doubao-search-sign.byteimg.com/labis/image/34670b9325fe5d2b493f627f9d035ee6~tplv-be4g95zd3a-image.jpeg?lk3s=feb11e32&x-expires=1790055945&x-signature=BBzW8WHjEcYucLR6JBVulSYcBHs%3D",
                url: "https://www.ksazabx.rest/register?vipCode=oxvx",
                discount: "First deposit gets 10 USDT, 40% trading commission",
                description: "A cryptocurrency exchange focused on contract trading",
                rating: 4.4,
                users: "2M+",
                category: "new",
                color: "yellow"
            },
            {
                id: 6,
                name: "CoinEx",
                logo: "https://p11-doubao-search-sign.byteimg.com/labis/image/c015ab1990fdae1d5f826d00d2c0786f~tplv-be4g95zd3a-image.jpeg?lk3s=feb11e32&x-expires=1790055945&x-signature=weJjuqwvQA4tkq6msocg50TaS%2Fc%3D",
                url: "https://www.coinex.com/register?rc=etayc",
                discount: "50% discount on trading fees",
                description: "A global digital asset trading platform with multilingual support",
                rating: 4.5,
                users: "4M+",
                category: "popular",
                color: "cyan"
            },
            {
                id: 7,
                name: "CoinW",
                logo: "https://p3-doubao-search-sign.byteimg.com/labis/image/07092f9a77b89565705789347771a8cf~tplv-be4g95zd3a-image.jpeg?lk3s=feb11e32&x-expires=1790055945&x-signature=B4yixNOuQM0i7LowTojx5ZOtWgg%3D",
                url: "https://www.coinw.com/register?r=26435153",
                discount: "New users receive 20 USDT",
                description: "A cryptocurrency exchange focused on security and user experience",
                rating: 4.3,
                users: "1.5M+",
                category: "new",
                color: "blue"
            },
            {
                id: 8,
                name: "CoinCatch",
                logo: "https://p3-doubao-search-sign.byteimg.com/labis/image/07092f9a77b89565705789347771a8cf~tplv-be4g95zd3a-image.jpeg?lk3s=feb11e32&x-expires=1790055945&x-signature=B4yixNOuQM0i7LowTojx5ZOtWgg%3D",
                url: "https://partner.coincatch.com/bg/D1GJP4",
                discount: "Register and get 15 USDT, 40% trading commission",
                description: "An emerging cryptocurrency exchange offering innovative trading products",
                rating: 4.2,
                users: "1M+",
                category: "new",
                color: "blue"
            },
            {
                id: 9,
                name: "BitMart",
                logo: "https://p11-doubao-search-sign.byteimg.com/labis/image/99ee414bc963f1dd0b82baa130a22d52~tplv-be4g95zd3a-image.jpeg?lk3s=feb11e32&x-expires=1790055961&x-signature=E%2F9kcp0%2FupZY5M2VqUZVucTEW24%3D",
                url: "https://www.bm-link.com/invite/cVQAdY",
                discount: "New users receive 30 USDT",
                description: "A global digital asset trading platform with multilingual support",
                rating: 4.4,
                users: "2.5M+",
                category: "popular",
                color: "teal"
            },
            {
                id: 10,
                name: "BitGet",
                logo: "https://p26-doubao-search-sign.byteimg.com/labis/image/3faddb5f02078460ea3d2082ddb12156~tplv-be4g95zd3a-image.jpeg?lk3s=feb11e32&x-expires=1790055961&x-signature=vdEd3Ojn2jyi0EpcO%2BWh7il%2FRjM%3D",
                url: "https://www.hdmune.cn/zh-CN/expressly?channelCode=mypy&vipCode=7GDWYF",
                discount: "Up to 50% trading commission",
                description: "A cryptocurrency exchange focused on contract trading",
                rating: 4.5,
                users: "3M+",
                category: "popular",
                color: "cyan"
            },
            {
                id: 11,
                name: "HTX",
                logo: "https://p26-doubao-search-sign.byteimg.com/isp-i18n-media/img/8b7c71df4a36a0aaf4d7d8f2efcd541f~tplv-be4g95zd3a-image.jpeg?lk3s=feb11e32&x-expires=1790055961&x-signature=D52b8A%2BQSM1QgmfROqLqyF3t8rI%3D",
                url: "https://www.htx.com.gt/invite/zh-cn/1f?invite_code=exchange",
                discount: "New users receive 100 USDT bonus package",
                description: "A leading global cryptocurrency exchange offering multiple trading products",
                rating: 4.7,
                users: "8M+",
                category: "popular",
                color: "blue"
            },
            {
                id: 12,
                name: "HiBT",
                logo: "https://p3-doubao-search-sign.byteimg.com/labis/image/07092f9a77b89565705789347771a8cf~tplv-be4g95zd3a-image.jpeg?lk3s=feb11e32&x-expires=1790055945&x-signature=B4yixNOuQM0i7LowTojx5ZOtWgg%3D",
                url: "https://www.hibt.com/register?promotionCode=DXP4",
                discount: "Register and get 20 USDT, up to 20% trading commission",
                description: "An innovative cryptocurrency exchange focused on user experience",
                rating: 4.3,
                users: "500k+",
                category: "new",
                color: "blue"
            }
        ];

        // Render exchange cards
        function renderExchanges(exchangeList, containerId) {
            const container = document.getElementById(containerId);
            container.innerHTML = '';
            
            exchangeList.forEach(exchange => {
                const card = document.createElement('div');
                card.className = 'bg-white rounded-xl shadow-md overflow-hidden card-hover';
                card.dataset.name = exchange.name.toLowerCase();
                
                // Add category badge
                let categoryBadge = '';
                if (exchange.category === 'popular') {
                    categoryBadge = '<span class="bg-yellow-100 text-yellow-800 text-xs font-medium px-2.5 py-0.5 rounded-full">Popular</span>';
                } else if (exchange.category === 'new') {
                    categoryBadge = '<span class="bg-green-100 text-green-800 text-xs font-medium px-2.5 py-0.5 rounded-full">New</span>';
                }
                
                // Generate star rating
                let stars = '';
                const fullStars = Math.floor(exchange.rating);
                const hasHalfStar = exchange.rating % 1 >= 0.5;
                
                for (let i = 0; i < fullStars; i++) {
                    stars += '<i class="fa fa-star text-yellow-400"></i>';
                }
                
                if (hasHalfStar) {
                    stars += '<i class="fa fa-star-half-o text-yellow-400"></i>';
                }
                
                const emptyStars = 5 - fullStars - (hasHalfStar ? 1 : 0);
                for (let i = 0; i < emptyStars; i++) {
                    stars += '<i class="fa fa-star-o text-yellow-400"></i>';
                }
                
                card.innerHTML = `
                    <div class="p-6">
                        <div class="flex justify-between items-start mb-4">
                            <div class="flex items-center">
                                <img src="${exchange.logo}" alt="${exchange.name} Logo" class="w-12 h-12 rounded-lg mr-4">
                                <div>
                                    <h4 class="text-xl font-bold">${exchange.name}</h4>
                                    <div class="flex items-center mt-1">
                                        <div class="flex">${stars}</div>
                                        <span class="text-gray-600 text-sm ml-1">${exchange.rating}</span>
                                    </div>
                                </div>
                            </div>
                            ${categoryBadge}
                        </div>
                        <p class="text-gray-600 mb-4">${exchange.description}</p>
                        <div class="flex items-center text-gray-500 text-sm mb-4">
                            <div class="flex items-center mr-4">
                                <i class="fa fa-users mr-1"></i>
                                <span>${exchange.users}</span>
                            </div>
                            <div class="flex items-center">
                                <i class="fa fa-globe mr-1"></i>
                                <span>Global</span>
                            </div>
                        </div>
                        <div class="bg-blue-50 text-blue-700 text-sm font-medium px-3 py-1 rounded-full inline-block mb-4">
                            <i class="fa fa-gift mr-1"></i> ${exchange.discount}
                        </div>
                        <div class="flex justify-between items-center">
                            <a href="${exchange.url}" target="_blank" class="btn-primary flex items-center">
                                <i class="fa fa-external-link mr-2"></i> Register Now
                            </a>
                            <button class="text-gray-500 hover:text-primary transition-colors" onclick="copyLink('${exchange.url}', '${exchange.name}')">
                                <i class="fa fa-copy"></i>
                            </button>
                        </div>
                    </div>
                `;
                
                container.appendChild(card);
            });
        }

        // Copy link function
        function copyLink(url, name) {
            navigator.clipboard.writeText(url).then(() => {
                showToast(`${name} invitation link copied to clipboard`);
            }).catch(err => {
                console.error('Copy failed:', err);
                showToast('Copy failed, please copy the link manually');
            });
        }

        // Show toast message
        function showToast(message) {
            const toast = document.createElement('div');
            toast.className = 'fixed bottom-6 left-1/2 transform -translate-x-1/2 bg-gray-800 text-white px-4 py-2 rounded-lg shadow-lg z-50';
            toast.textContent = message;
            document.body.appendChild(toast);
            
            setTimeout(() => {
                toast.classList.add('opacity-0', 'transition-opacity', 'duration-300');
                setTimeout(() => {
                    document.body.removeChild(toast);
                }, 300);
            }, 2000);
        }

        // Search function
        function setupSearch() {
            const searchInput = document.getElementById('search-input');
            searchInput.addEventListener('input', (e) => {
                const searchTerm = e.target.value.toLowerCase();
                const cards = document.querySelectorAll('#exchange-grid .bg-white');
                
                cards.forEach(card => {
                    const name = card.dataset.name;
                    if (name.includes(searchTerm)) {
                        card.style.display = 'block';
                    } else {
                        card.style.display = 'none';
                    }
                });
            });
        }

        // FAQ toggle function
        function setupFAQ() {
            const questions = document.querySelectorAll('.faq-question');
            
            questions.forEach(question => {
                question.addEventListener('click', () => {
                    const answer = question.nextElementSibling;
                    const icon = question.querySelector('i');
                    
                    answer.classList.toggle('hidden');
                    icon.classList.toggle('fa-chevron-down');
                    icon.classList.toggle('fa-chevron-up');
                });
            });
        }

        // Back to top button
        function setupBackToTop() {
            const backToTopButton = document.getElementById('back-to-top');
            
            window.addEventListener('scroll', () => {
                if (window.scrollY > 300) {
                    backToTopButton.classList.remove('opacity-0', 'invisible');
                    backToTopButton.classList.add('opacity-100', 'visible');
                } else {
                    backToTopButton.classList.remove('opacity-100', 'visible');
                    backToTopButton.classList.add('opacity-0', 'invisible');
                }
            });
            
            backToTopButton.addEventListener('click', () => {
                window.scrollTo({
                    top: 0,
                    behavior: 'smooth'
                });
            });
        }

        // Smooth scroll
        function setupSmoothScroll() {
            document.querySelectorAll('a[href^="#"]').forEach(anchor => {
                anchor.addEventListener('click', function(e) {
                    e.preventDefault();
                    
                    const targetId = this.getAttribute('href');
                    const targetElement = document.querySelector(targetId);
                    
                    if (targetElement) {
                        window.scrollTo({
                            top: targetElement.offsetTop - 80,
                            behavior: 'smooth'
                        });
                    }
                });
            });
        }

        // Initialize after page load
        document.addEventListener('DOMContentLoaded', () => {
            renderExchanges(exchanges, 'exchange-grid');
            renderExchanges(exchanges.filter(ex => ex.category === 'popular'), 'popular-grid');
            setupSearch();
            setupFAQ();
            setupBackToTop();
            setupSmoothScroll();
        });
    
    </script>

</body>
</html>
1 Like

I shared ‘web3’ with you using KuQuan Cloud Disk. Click the link or copy the entire text to open it in ‘KuQuan APP’.

/~f4973Xt5Bl5~

Link: https://pan.quark.cn/s/f3595d10bd20?pwd=F6sK
Password: F6sK

what东西