!DOCTYPE html html lang=zh-CN head meta charset=UTF-8 meta name=viewport content=width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=yes title哈哈影院 海量影视电影电视剧免费在线看 每日更新热门大片title meta name=keywords content=真实电影推荐、在线影视网站、新片预告、经典电影、哈哈影院 meta name=description content=哈哈影院 提供真实欧美大片、国产剧集、高分经典影视信息,高清画质无广告,每日更新不等待。支持预约提醒,打造影迷一站式追剧平台。 style { margin 0; padding 0; box-sizing border-box; } body { font-family system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background #0d0f14; color #e8edf2; line-height 1.5; opacity 0; animation fadeIn 0.2s ease forwards; } @keyframes fadeIn { 0% { opacity 0; } 100% { opacity 1; } } a, button { color inherit; text-decoration none; cursor pointer; } img { display block; width 100%; height auto; background #1f232b; } .wrapper-yt4391 { max-width 1320px; margin 0 auto; padding 0 20px; } header.header-ew8421 { background #12151c; padding 14px 0; border-bottom 1px solid #2a2f3a; } .header-inner-gh8392 { display flex; flex-wrap wrap; align-items center; justify-content center; gap 24px 32px; } .site-name-ua7128 { font-size 1.9rem; font-weight 700; letter-spacing 1px; background linear-gradient(135deg, #f5b042, #e07c3e); -webkit-background-clip text; -webkit-text-fill-color transparent; background-clip text; } .nav-menu-ql4839 { display flex; flex-wrap wrap; gap 12px 28px; font-weight 500; } .nav-menu-ql4839 a { padding 8px 0; border-bottom 2px solid transparent; transition 0.2s; } .nav-menu-ql4839 ahover { border-bottom-color #e07c3e; } .breadcrumb-az6742 { padding 12px 0 6px; font-size 0.9rem; color #9aa3b2; background transparent; } .breadcrumb-az6742 span { background #1e222b; padding 4px 14px; border-radius 30px; display inline-block; } .site-intro-bv8712 { background #171b24; padding 28px 20px; margin 18px 0 28px; border-radius 28px; font-weight 700; border-left 6px solid #e07c3e; box-shadow 0 10px 20px rgba(0,0,0,0.5); } .site-intro-bv8712 p { max-width 1000px; margin 0 auto; font-size 1.1rem; line-height 1.7; } .section-card-group-uo5432 { margin-bottom 48px; } .section-title-rt2309 { display flex; flex-wrap wrap; align-items baseline; justify-content space-between; margin-bottom 20px; border-bottom 2px solid #2f3542; padding-bottom 10px; } .section-title-rt2309 h2 { font-size 1.8rem; font-weight 600; } .category-tags-yt7721 { display flex; flex-wrap wrap; gap 8px 16px; } .category-tags-yt7721 a { background #262c38; padding 6px 18px; border-radius 40px; font-size 0.9rem; transition 0.2s; } .category-tags-yt7721 ahover { background #e07c3e; color #0d0f14; } .grid-6cards-wq4462 { display grid; grid-template-columns repeat(auto-fill, minmax(160px, 1fr)); gap 20px; } .card-item-ty8934 { background #1b1f28; border-radius 20px; overflow hidden; transition all 0.25s ease; position relative; cursor pointer; box-shadow 0 4px 12px rgba(0,0,0,0.4); display flex; flex-direction column; } .card-item-ty8934hover { transform scale(1.03); box-shadow 0 18px 30px rgba(0,0,0,0.7); } .card-item-ty8934hover .play-hover-ng3391 { opacity 1; transform translate(-50%, -50%) scale(1); } .img-wrapper-yt8832 { background #262c38; position relative; overflow hidden; aspect-ratio 23; } .img-wrapper-yt8832 img { width 100%; height 100%; object-fit cover; transition transform 0.2s; } .card-item-ty8934hover .img-wrapper-yt8832 img { transform scale(1.03); } .play-hover-ng3391 { position absolute; top 50%; left 50%; width 64px; height 64px; background rgba(0,0,0,0.6); border-radius 50%; display flex; flex-direction column; align-items center; justify-content center; opacity 0; transform translate(-50%, -50%) scale(0.7); transition all 0.2s; pointer-events none; border 2px solid rgba(255,255,255,0.3); color white; font-size 0.7rem; line-height 1.2; backdrop-filter blur(2px); } .play-hover-ng3391 span { font-size 1.8rem; margin-bottom 2px; } .card-body-hy1123 { padding 12px 10px 14px; flex 1; display flex; flex-direction column; gap 6px; } .card-body-hy1123 h3 { font-size 1rem; font-weight 600; white-space nowrap; overflow hidden; text-overflow ellipsis; } .meta-row-yt4512 { display flex; justify-content space-between; font-size 0.75rem; color #a8b2c4; } .badge-kl2300 { background #e07c3e; padding 2px 10px; border-radius 30px; color #0d0f14; font-weight 600; font-size 0.7rem; display inline-block; } .btn-watch-yt5532 { background #2d3440; border none; padding 8px 0; border-radius 40px; font-size 0.8rem; font-weight 500; margin-top 6px; transition 0.2s; text-align center; } .btn-watch-yt5532hover { background #e07c3e; color #0b0d12; } .toast-container-yt1147 { position fixed; top 20px; left 50%; transform translateX(-50%); background #1f2a36; padding 14px 32px; border-radius 60px; box-shadow 0 12px 28px rgba(0,0,0,0.6); z-index 2000; font-weight 500; border 1px solid #e07c3e; color #f0e9dc; opacity 0; transition opacity 0.2s; pointer-events none; white-space nowrap; max-width 90%; text-align center; } .toast-container-yt1147.show-yt3321 { opacity 1; pointer-events none; } .modal-overlay-ty9012 { position fixed; inset 0; background rgba(0,0,0,0.75); backdrop-filter blur(4px); display flex; align-items center; justify-content center; z-index 3000; opacity 0; visibility hidden; transition 0.2s; } .modal-overlay-ty9012.active-yt7621 { opacity 1; visibility visible; } .modal-box-yt3342 { background #1b212b; max-width 500px; width 94%; border-radius 32px; padding 28px 24px 24px; box-shadow 0 30px 50px rgba(0,0,0,0.8); color #e8edf2; position relative; } .modal-box-yt3342 h2 { font-size 1.8rem; margin-bottom 6px; } .modal-box-yt3342 .meta-gh4390 { display flex; gap 20px; flex-wrap wrap; font-size 0.9rem; color #bcc4d4; margin 8px 0 12px; } .modal-box-yt3342 p { margin 12px 0 20px; line-height 1.6; } .modal-actions-yt6732 { display flex; gap 16px; justify-content flex-end; } .modal-actions-yt6732 button { background #2d3440; border none; padding 10px 26px; border-radius 40px; font-weight 500; transition 0.2s; } .modal-actions-yt6732 buttonhover { background #e07c3e; color #0d0f14; } .comment-section-yt2311 { margin 40px 0 30px; background #151a23; padding 20px 24px; border-radius 28px; } .comment-item-yt5423 { padding 14px 0; border-bottom 1px solid #2a3140; } .comment-item-yt5423last-child { border-bottom none; } .comment-author-yt3321 { font-weight 600; color #cbd5e0; } .comment-text-yt4390 { margin-top 6px; color #b1bbcc; } footer.footer-yt2390 { background #0e1118; padding 32px 0 24px; border-top 1px solid #262c38; margin-top 20px; } .footer-links-yt3219 { display flex; flex-wrap wrap; gap 18px 30px; justify-content center; font-size 0.9rem; } .footer-links-yt3219 a { color #bcc4d4; } .footer-links-yt3219 ahover { color #e07c3e; } .footer-meta-yt5732 { text-align center; margin-top 20px; color #7e8899; font-size 0.8rem; } @media (max-width 768px) { .header-inner-gh8392 { justify-content center; flex-direction column; } .grid-6cards-wq4462 { grid-template-columns repeat(2, 1fr); gap 16px; } .site-intro-bv8712 p { font-size 1rem; } } @media (min-width 1024px) { .grid-6cards-wq4462 { grid-template-columns repeat(6, 1fr); } } style head body div class=wrapper-yt4391 header class=header-ew8421 div class=header-inner-gh8392 div class=site-name-ua7128哈哈影院div nav class=nav-menu-ql4839 a href=#首页a a href=#电影a a href=#剧集a a href=#综艺a a href=#动漫a a href=#预约a nav div header div class=breadcrumb-az6742span首页 电影 正在热播spandiv section class=site-intro-bv8712 pstrong哈哈影院strong 提供真实欧美大片、国产剧集、高分经典影视信息,strong高清画质strong无广告,strong每日更新strong不等待。支持预约提醒,打造影迷一站式strong在线电影strong平台。strong免费观看strong热门大片,strong无广告strong打扰,畅享极致体验。本页面展示真实影视作品信息,所有点击跳转及播放功能正在开发中,敬请期待正式版。海量内容strong每日更新strong,strong哈哈影院strong做你的随身影院。p section main section class=section-card-group-uo5432 div class=section-title-rt2309 h2🔥 正在热播h2 div class=category-tags-yt7721 a href=#动作aa href=#科幻aa href=#喜剧aa href=#剧情a div div div class=grid-6cards-wq4462 id=section1-yt9234div section section class=section-card-group-uo5432 div class=section-title-rt2309 h2📺 高分剧集h2 div class=category-tags-yt7721 a href=#悬疑aa href=#爱情aa href=#古装aa href=#犯罪a div div div class=grid-6cards-wq4462 id=section2-yt4521div section section class=section-card-group-uo5432 div class=section-title-rt2309 h2🎬 经典电影h2 div class=category-tags-yt7721 a href=#豆瓣Topaa href=#奥斯卡aa href=#华语aa href=#欧美a div div div class=grid-6cards-wq4462 id=section3-yt7723div section section class=section-card-group-uo5432 div class=section-title-rt2309 h2🎭 热门综艺h2 div class=category-tags-yt7721 a href=#真人秀aa href=#脱口秀aa href=#音乐aa href=#生活a div div div class=grid-6cards-wq4462 id=section4-yt1193div section section class=section-card-group-uo5432 div class=section-title-rt2309 h2🌟 动漫新番h2 div class=category-tags-yt7721 a href=#热血aa href=#奇幻aa href=#恋爱aa href=#搞笑a div div div class=grid-6cards-wq4462 id=section5-yt6621div section main div class=comment-section-yt2311 h3 style=margin-bottom 14px;💬 影迷热评h3 div class=comment-item-yt5423span class=comment-author-yt3321电影迷小Aspandiv class=comment-text-yt4390哈哈影院资源真的全,每日更新很良心!divdiv div class=comment-item-yt5423span class=comment-author-yt3321追剧达人CCspandiv class=comment-text-yt4390没有广告太爽了,期待正式版上线!divdiv div class=comment-item-yt5423span class=comment-author-yt3321经典控老张spandiv class=comment-text-yt4390希望加入更多经典老片,支持高清画质。divdiv div footer class=footer-yt2390 div class=footer-links-yt3219 a href=# data-modal=about关于我们a a href=# data-modal=help帮助中心a a href=# data-modal=links友情链接a a href=# data-modal=complaint内容投诉a div div class=footer-meta-yt5732 p© 2026 哈哈影院 侵权必删p p沪ICP备2026span id=randomBeian-yt33214821span号p div footer div div class=toast-container-yt1147 id=toast-yt1111功能开发中,即将开放,敬请期待div div class=modal-overlay-ty9012 id=modalOverlay-yt3200 div class=modal-box-yt3342 id=modalBox-yt2281 h2 id=modalTitle-yt4412片名h2 div class=meta-gh4390 id=modalMeta-yt3312年份 · 类型div p id=modalDesc-yt6612简介信息p div class=modal-actions-yt6732 button id=modalClose-yt7721关闭button button id=modalGoto-yt8821前往观看(开发中)button div div div script (function(){ const toastEl = document.getElementById('toast-yt1111'); let toastTimer = null; function showToast(msg) { if (toastTimer) { clearTimeout(toastTimer); toastTimer = null; } toastEl.textContent = msg '功能开发中,即将开放,敬请期待'; toastEl.classList.add('show-yt3321'); toastTimer = setTimeout(() = { toastEl.classList.remove('show-yt3321'); toastTimer = null; }, 2000); } document.addEventListener('click', function(e) { const target = e.target.closest('[data-toast]'); if (target) { e.preventDefault(); showToast(); return; } }); const realMovies = [ { title'流浪地球2', year2023, type'movie', score8.3, hot'4K', desc'人类开启流浪计划,危机与希望并存', director'郭帆', img'001-movie' }, { title'阿凡达:水之道', year2022, type'movie', score8.0, hot'HDR', desc'潘多拉星球的海洋史诗', director'詹姆斯·卡梅隆', img'002-movie' }, { title'满江红', year2023, type'movie', score7.8, hot'4K', desc'悬疑反转,笑中带泪', director'张艺谋', img'003-movie' }, { title'奥本海默', year2023, type'movie', score8.9, hot'IMAX', desc'原子弹之父的传奇', director'诺兰', img'004-movie' }, { title'肖申克的救赎', year1994, type'movie', score9.7, hot'高清', desc'希望与自由的赞歌', director'弗兰克·德拉邦特', img'005-movie' }, { title'霸王别姬', year1993, type'movie', score9.6, hot'高清', desc'风华绝代,时代悲歌', director'陈凯歌', img'006-movie' }, { title'狂飙', year2023, type'tv', score8.5, hot'39集全', desc'扫黑除恶,正义狂飙', director'徐纪周', img'007-tv' }, { title'漫长的季节', year2023, type'tv', score9.4, hot'12集全', desc'悬疑背后的命运', director'辛爽', img'008-tv' }, { title'三体', year2023, type'tv', score8.7, hot'30集全', desc'科幻巨制,宇宙闪烁', director'杨磊', img'009-tv' }, { title'人世间', year2022, type'tv', score8.4, hot'58集全', desc'五十年中国百姓生活史', director'李路', img'010-tv' }, { title'权力的游戏', year2011, type'tv', score9.3, hot'8季全', desc'冰与火的史诗', director'DB·威斯', img'011-tv' }, { title'后宫·甄嬛传', year2011, type'tv', score9.3, hot'76集全', desc'宫廷争斗经典', director'郑晓龙', img'012-tv' }, { title'繁花', year2023, type'tv', score8.7, hot'30集全', desc'王家卫镜头下的上海', director'王家卫', img'013-tv' }, { title'大话西游之大圣娶亲', year1995, type'movie', score9.2, hot'高清', desc'一生所爱', director'刘镇伟', img'014-movie' }, { title'泰坦尼克号', year1997, type'movie', score9.4, hot'4K', desc'经典爱情', director'詹姆斯·卡梅隆', img'015-movie' }, { title'千与千寻', year2001, type'movie', score9.4, hot'高清', desc'神隐少女', director'宫崎骏', img'016-movie' }, { title'星际穿越', year2014, type'movie', score9.4, hot'4K', desc'穿越虫洞', director'诺兰', img'017-movie' }, { title'让子弹飞', year2010, type'movie', score9.0, hot'高清', desc'站着把钱挣了', director'姜文', img'018-movie' }, { title'向往的生活', year2023, type'variety', season7, score7.6, hot'第7季', desc'慢生活真人秀', director'王征宇', img'019-variety' }, { title'明星大侦探', year2024, type'variety', season9, score8.9, hot'第9季', desc'推理探案', director'何忱', img'020-variety' }, { title'中国好声音', year2023, type'variety', season12, score6.5, hot'第12季', desc'音乐选秀', director'金磊', img'021-variety' }, { title'奔跑吧', year2024, type'variety', season12, score7.0, hot'第12季', desc'户外竞技', director'姚译添', img'022-variety' }, { title'乘风2024', year2024, type'variety', season5, score7.2, hot'第5季', desc'姐姐成团', director'吴梦知', img'023-variety' }, { title'喜剧之王单口季', year2024, type'variety', season1, score8.3, hot'第1季', desc'单口喜剧', director'小鹿', img'024-variety' }, { title'鬼灭之刃 锻刀村篇', year2023, type'anime', score8.9, hot'12集', desc'炭治郎新冒险', director'外崎春雄', img'025-anime' }, { title'咒术回战 涩谷事变', year2023, type'anime', score8.8, hot'23集', desc'咒术大战', director'朴性厚', img'026-anime' }, { title'进击的巨人 最终季', year2023, type'anime', score9.4, hot'12集', desc'自由与束缚', director'林祐一郎', img'027-anime' }, { title'葬送的芙莉莲', year2023, type'anime', score9.5, hot'28集', desc'精灵之旅', director'斋藤圭一郎', img'028-anime' }, { title'海贼王 和之国篇', year2023, type'anime', score8.7, hot'持续更新', desc'路飞新冒险', director'长峰达也', img'029-anime' }, { title'间谍过家家 第二季', year2023, type'anime', score8.8, hot'12集', desc'伪装家庭', director'古桥一浩', img'030-anime' } ]; const sectionMap = { 'section1-yt9234' [0,1,2,3,4,5], 'section2-yt4521' [6,7,8,9,10,11], 'section3-yt7723' [12,13,14,15,16,17], 'section4-yt1193' [18,19,20,21,22,23], 'section5-yt6621' [24,25,26,27,28,29] }; function renderCards() { for (const [secId, indices] of Object.entries(sectionMap)) { const container = document.getElementById(secId); if (!container) continue; container.innerHTML = ''; indices.forEach(idx = { const item = realMovies[idx]; if (!item) return; const card = document.createElement('div'); card.className = 'card-item-ty8934'; card.dataset.index = idx; const typeLabel = item.type === 'movie' '电影' item.type === 'tv' '剧集' item.type === 'variety' '综艺' '动漫'; const seasonInfo = item.season `第${item.season}季` ''; const extra = item.type === 'variety' (seasonInfo item.hot) item.hot; card.innerHTML = ` div class=img-wrapper-yt8832 img src=uploadvod${item.img}.webp alt=${item.title} ${typeLabel} ${item.year} ${item.director ''} loading=lazy div class=play-hover-ng3391span▶span立即观看div div div class=card-body-hy1123 h3${item.title}h3 div class=meta-row-yt4512 span⭐${item.score}span span${extra}span div button class=btn-watch-yt5532 data-toast=1想看 预约button div `; container.appendChild(card); }); } } renderCards(); const modalOverlay = document.getElementById('modalOverlay-yt3200'); const modalBox = document.getElementById('modalBox-yt2281'); const modalTitle = document.getElementById('modalTitle-yt4412'); const modalMeta = document.getElementById('modalMeta-yt3312'); const modalDesc = document.getElementById('modalDesc-yt6612'); const closeModalBtn = document.getElementById('modalClose-yt7721'); const gotoBtn = document.getElementById('modalGoto-yt8821'); function openModal(index) { const item = realMovies[index]; if (!item) return; modalTitle.textContent = item.title; const typeMap = {movie'电影', tv'剧集', variety'综艺', anime'动漫'}; const typeStr = typeMap[item.type] '影片'; modalMeta.textContent = `${item.year} · ${typeStr} · ⭐${item.score} · ${item.director ''}`; modalDesc.textContent = item.desc '精彩影视内容,敬请期待。'; modalOverlay.classList.add('active-yt7621'); } function closeModal() { modalOverlay.classList.remove('active-yt7621'); } document.addEventListener('click', function(e) { const card = e.target.closest('.card-item-ty8934'); if (card && !e.target.closest('[data-toast]') && !e.target.closest('.btn-watch-yt5532')) { e.preventDefault(); const idx = card.dataset.index; if (idx !== undefined) openModal(parseInt(idx)); return; } if (e.target.closest('#modalClose-yt7721')) { closeModal(); return; } if (e.target.closest('#modalGoto-yt8821')) { e.preventDefault(); showToast(); return; } if (e.target.closest('.modal-overlay-ty9012') && !e.target.closest('.modal-box-yt3342')) { closeModal(); return; } }); document.querySelectorAll('[data-modal]').forEach(link = { link.addEventListener('click', function(e) { e.preventDefault(); const type = this.dataset.modal; let title = '', desc = ''; if (type === 'about') { title='关于我们'; desc='哈哈影院致力于为用户提供最新最全的影视资讯,本站仅展示作品信息,无播放功能。我们尊重版权,侵权必删。'; } else if (type === 'help') { title='帮助中心'; desc='如遇问题请联系客服,本站为影视信息展示平台,所有播放功能尚在开发。'; } else if (type === 'links') { title='友情链接'; desc='欢迎影视同行业交换链接,请联系官方邮箱。'; } else if (type === 'complaint') { title='内容投诉'; desc='如发现违法或侵权内容,请发送邮件至投诉邮箱,我们将在24小时内处理。'; } modalTitle.textContent = title; modalMeta.textContent = '哈哈影院'; modalDesc.textContent = desc; modalOverlay.classList.add('active-yt7621'); }); }); document.querySelectorAll('.btn-watch-yt5532').forEach(btn = { btn.addEventListener('click', function(e) { e.preventDefault(); e.stopPropagation(); showToast(); }); }); const beianSpan = document.getElementById('randomBeian-yt3321'); if (beianSpan) beianSpan.textContent = Math.floor(Math.random()9000+1000); window.showToast = showToast; })(); script body html